From c833f8f057e6ddb54b71762ab42a1f4b9bb15dc3 Mon Sep 17 00:00:00 2001 From: dhlee3994 Date: Fri, 2 May 2025 11:42:52 +0900 Subject: [PATCH] Add ch09~13 --- .../donghyeon/ch9~13.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 2025/Becoming a Better Programmer/donghyeon/ch9~13.md diff --git a/2025/Becoming a Better Programmer/donghyeon/ch9~13.md b/2025/Becoming a Better Programmer/donghyeon/ch9~13.md new file mode 100644 index 00000000..6e15754b --- /dev/null +++ b/2025/Becoming a Better Programmer/donghyeon/ch9~13.md @@ -0,0 +1,16 @@ +# 더 나은 프로그래머 되는법 = ch09~13 + +## 논의 + +- 지저분한 대도시에서 디자인 타운으로 변경한 경험이 있다면 공유하면 좋을 것 같습니다. 이러한 경험이 없다면 디자인 타운을 만들기 위해 개인적으로 하는 노력을 공유하면 좋을 것 같습니다. + +## 내용 + +- 좋은 코드를 작성하는 것은 낙관론이나 비관론에 관한 것이 아니라, **물이 새지 않는 컵을 만드는 과정**과 같다. +- 테스트하지 않은 코드는 버그 번식지나 다름없다. 테스트는 **표백제 역할**을 합니다. +- 코드의 특정 행태를 확인하는 테스트를 통해 더 응집되고 명확한 테스트를 작성할 수 있다. +- 좋은 구조, 즉 이해하고 유지 보수하기 더 간단한 구조를 만들기 위해 코드를 '모듈'로 간주하고 패키지, 컴포넌트, 클래스 등 세부적인 부분으로 나누어라. +- 작고 수많은, 즉 더 응집도가 높은 클래스를 선호하라. 되도록이면 하나의 일만 처리하는 게 가장 좋다. +- 순환적인 의존 관계에 있는 객체들은 융통성이 없고 쉽게 변하지 않으며 작업하기도 어렵다. +- 이러한 구조는 연결을 끊거나 새로운 추상적인 인터페이스를 만들어 객체들 간의 결합을 줄임으로써 간단히 정리할 수 있다. +