더북(TheBook)

그리고 2000년대가 됐다. 이후 수십 년 동안 N 계층 애플리케이션, 팻 클라이언트(fat client), 씬 클라이언트(thin client), 제네릭(generic), MVC, MVVM, MVP라는 전문 용어를 자주 사용했다. 비동기 프로그래밍은 promise, future, finally, 리액티브 프로그래밍, 그리고 마이크로서비스와 함께 확산되기 시작했다. LINQ, 패턴 매칭, 불변성과 같은 함수형 프로그래밍 개념들을 통해 주류 언어가 되었다. 지금도 새로운 용어가 쏟아져 나오고 있다.

디자인 패턴이나 모범 사례는 아직 다루지도 않았다. 거의 모든 주제에 대해 셀 수 없이 많은 모범 사례, 팁, 기술이 있다. 소스 코드를 들여쓰기 위해 탭을 사용해야 하는지, 공백 문자를 사용해야 하는지에 대해 작성된 매니페스토가 있다.11 물론 당연히 답은 공백이다.

우리는 패러다임, 패턴, 프레임워크 또는 라이브러리를 사용하여 모든 문제를 해결할 수 있다고 가정한다. 우리가 지금 직면하고 있는 문제의 복잡성을 고려할 때 전혀 근거 없는 이야기는 아니다. 하지만 이러한 도구를 맹목적으로 사용하면 나중에 더 많은 문제가 발생할 수 있다. 즉, 이러한 도구를 도입하는 경우에는 새롭게 배워야 할 도메인 지식과 도구에 내재된 버그 때문에 속도가 더 늦어질 수 있다. 경우에 따라 설계를 억지로 바꿔야 할 수도 있다. 이 책은 패턴을 올바로 사용하는 방법, 더 자세히 따져보는 방법, 코드 검토를 더 잘 할 수 있는 방법에 대한 확신을 줄 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.