Java의 instanceof 패턴 매칭을 활용한 인라인 Null 체크 및 변수 선언 기법
Java 16부터 도입된 instanceof 패턴 매칭을 사용하면 if-else 체인 내에서 별도의 임시 변수 선언 없이 Null 체크와 변수 할당을 동시에 수행하여 코드 가독성을 높일 수 있습니다.
Java의 instanceof 패턴 매칭을 활용한 인라인 Null 체크 및 변수 선언 기법
Java 16부터 도입된 instanceof 패턴 매칭을 사용하면 if-else 체인 내에서 별도의 임시 변수 선언 없이 Null 체크와 변수 할당을 동시에 수행하여 코드 가독성을 높일 수 있습니다.
엘로퀀트 루비, 제2판
Ruby 언어에 대한 깊이 있는 이해와 숙련된 프로그래머처럼 사고하는 방식을 통해 더 명확하고 효율적인 Ruby 코드를 작성하는 방법을 제시합니다.
Ruby의 생소한 기능들에 대한 주관적인 리뷰 (Jerome Paul)
패턴 매칭의 변수 바인딩과 언패킹 동작이 기존 Ruby의 직관과 달라 발생할 수 있는 혼란과 주의사항을 설명한다.
Anti-corruption Layer на C#: три шва на проекте миграции с Rails
Anti-corruption layer в учебниках выглядит как одна аккуратная коробка между чужой системой и вашей: всё чужое остаётся снаружи, внутрь проходит только то, что уже переведено на язык вашего домена. Граница ровная, как по линейке. Почти за год, что мы вытесняли 10-летний Rails-монолит на .NET, такой ровной границы я не увидел ни разу – ни у себя, ни, кажется, у кого-то ещё на живом проекте. Понятно это стало в первую же неделю. Мы открыли таблицу exercises и нашли в одной JSONB-колонке 14 разных форм одного типа задания, слепленных за 10 лет. Смаппить это в новые DTO как есть – и новая модель отрастит ровно ту же форму, что у Rails. “Нужен ACL”, подумали мы. Только, как выяснилось на практике, не один.
https://habr.com/ru/articles/1042556/
#anticorruption_layer #ACL #DDD #рефакторинг_легаси #Strangler_Fig #pattern_matching #JSONB #миграция
모던 루비스트를 위한 신규 기능 활용 가이드: 언제, 어떻게 사용할 것인가
새로운 언어 기능은 복잡성을 압축하고 추상화하여 더 큰 문제를 해결할 수 있는 새로운 사고의 도구를 제공한다.
루비의 언어적 진화와 HTML 추상화 도구 Flex
루비는 패턴 매칭과 같은 현대적 기능을 통해 언어적 아름다움을 유지하면서도 개발 생산성을 지속적으로 높이고 있다.
루비 해시 패턴 파서 업데이트: 코드에 미치는 영향과 내부 구조 개선
루비 파서의 해시 패턴 노드 구조를 NODE_HSHPTN에서 명확한 의미를 가진 HashPatternNode로 리팩토링하여 유지보수성과 정확성을 높였다.
Ruby의 변하지 않는 아름다움과 진화: 패턴 매칭부터 Phlex까지
Ruby는 언어 설계 초기부터 현재까지 개발자에게 심미적 만족감을 주는 아름다운 문법 체계를 유지하며 진화하고 있다.
Explore union types in C#15
https://devblogs.microsoft.com/dotnet/csharp-15-union-types/
[Перевод] Сопоставление с образцом на C#: объяснение и примеры
За годы своего развития C# существенно эволюционировал; одна из самых мощных фич языка — это сопоставление с образцом ( pattern matching) . Работая недавно над небольшим хобби-проектом, я наткнулся на такую прекрасную строку кода C#. if (person is not null and { Age: > 18 }) {} Выглядит изящно. Откровенно говоря, она заставила меня призадуматься. Годами я писал проверки на null и свойства-аксессоры классическим образом: if (person != null && person.Age > 18) {} Функционально? Да. Удобочитаемо? Не особо. Безопасно? Спорно, особенно когда код становится сложнее. Я решил создать шорт YouTube об этом современном синтаксисе. Это небольшое забавное напоминание о том, что C# позволяет при помощи сопоставления с образцом комбинировать проверки на null и обращение к свойству в одно условие. Я понятия не имел, что это короткое видео приведёт к гораздо более глубокому исследованию, и покажет мне, насколько полезно и универсально сопоставление с образцом в современном C#. Эта фича повышает читаемость, уменьшает объём бойлерплейта и обеспечивает более выразительную обработку логики. В этой статье мы изучим различные типы образцов, поддерживаемых в C#, их работу и поймём, когда их использовать, на понятных примерах из реального мира.