소프트웨어
-
유연한 소프트웨어를 만드는 설계원칙Review 2022. 4. 24.
소프트웨어 엔지니어에게 어떤 상황에서도 유연하게 확장 가능한 설계는 판타지에 나오는 마법지팡이와 같은 이야기이다. 코드에 대한 섣부른 일반화가 미래 요구사항에 맞지 않아 다시 많은 부분을 손봐야한다던가 너무 특정 문제에 초점에 맞춰 구현된 개발은 향후 기만한 변화에 발목을 잡게 될 수 있다. 이 책은 기존 코드를 수정하지 않고 어떻게 새로운 코드를 추가할 수 있을 것인지 그리고 시스템을 어떻게 진화시킬 수 있는지를 이야기하는 가산적 프로그래밍(additive programming)을 설명하는 책이다. 1장 자연과 설계의 유연성 2장 DSL 3장 산술 주제의 변형 4장 패턴부합 5장 평가 6장 계층화 7장 전파 1장에서는 가산적 프로그래밍에 대한 주요 개념이 나오게 되는데 너무나도 잘 알려진 유닉스 철학과..