Featured image of post [Clean Code] 13. 오류 코드 대신 예외를 써라

[Clean Code] 13. 오류 코드 대신 예외를 써라

오류 코드가 호출자 코드를 어떻게 오염시키는지 보이고, 예외에 의미 있는 컨텍스트를 담는 방법과 null 반환·전달을 피하는 기법을 다룬다. Optional·Result 타입 같은 현대적 오류 처리도 함께 비교한다.

Featured image of post [Clean Code] 14. 오류 처리 리팩토링 실습

[Clean Code] 14. 오류 처리 리팩토링 실습

정수 오류 코드로 뒤덮인 파일 처리 코드를 의미 있는 예외 계층과 Optional로 재설계하는 실습을 통해 13장에서 배운 오류 처리 원칙을 직접 적용하고, 예외 계층을 얼마나 세분화해야 하는지 실무 판단 기준으로 함께 검증한다.

Featured image of post [Clean Code] 15. 경계 — 외부 라이브러리 사용법

[Clean Code] 15. 경계 — 외부 라이브러리 사용법

외부 라이브러리 제공자와 사용자의 상반된 요구가 만드는 긴장을 짚고, 학습 테스트로 경계를 검증하는 방법과 어댑터 패턴으로 서드파티 API를 감싸 변경에 대비하는 전략을 판단 기준과 과잉 설계 비판까지 함께 다룬다.

Featured image of post [Clean Code] 16. TDD 법칙과 F.I.R.S.T 원칙

[Clean Code] 16. TDD 법칙과 F.I.R.S.T 원칙

테스트 코드를 먼저 작성하도록 강제하는 TDD 세 가지 법칙과 Red-Green-Refactor 사이클을 설명하고, 좋은 테스트가 갖춰야 할 F.I.R.S.T 원칙을 예제로 다룬다. 2014년 TDD 논쟁도 함께 짚는다.

Featured image of post [Clean Code] 17. 단위 테스트 리팩토링 실습

[Clean Code] 17. 단위 테스트 리팩토링 실습

간단한 계산기를 Red-Green-Refactor 사이클로 직접 구현하고, 실제 DB에 의존하는 F.I.R.S.T 원칙 위반 테스트 코드를 정리하며 16장에서 배운 테스트 설계 원칙을 실제 코드로 손에 익히는 실습이다.

Featured image of post [Clean Code] 18. 클래스는 작아야 한다

[Clean Code] 18. 클래스는 작아야 한다

클래스 크기를 책임의 개수로 측정하는 이유를 설명하고, 단일 책임 원칙과 응집도를 중심으로 SOLID 5원칙 전체를 개괄한다. God Class를 작은 클래스들로 분해하는 실전 예제와 과잉 설계 판단 기준을 포함한다.

Featured image of post [Clean Code] 19. SOLID 원칙 리팩토링 실습

[Clean Code] 19. SOLID 원칙 리팩토링 실습

DB 연결, 검증, 이메일 발송, 캐시 관리를 모두 떠맡은 God Class UserManager를 SRP와 DIP에 따라 네 개의 협력 클래스로 분해하는 실습을 통해 18장의 SOLID 원칙을 실제 코드와 조립 지점 설계에 적용한다.

Featured image of post [Clean Code] 20. 시스템과 의존성 주입

[Clean Code] 20. 시스템과 의존성 주입

객체를 만드는 과정(제작)과 그 객체를 사용하는 로직(사용)을 분리해야 하는 이유를 설명하고, Composition Root와 의존성 주입 컨테이너를 이용한 시스템 조립 전략을 서비스 로케이터 안티패턴 비판과 함께 다룬다.

Featured image of post [Clean Code] 21. 창발적 설계 네 가지 규칙

[Clean Code] 21. 창발적 설계 네 가지 규칙

켄트 벡이 제시한 단순한 설계 네 규칙(테스트 통과, 중복 제거, 의도 표현, 클래스·메서드 최소화)을 우선순위 순서로 설명하고, 사전 설계(BDUF)와 창발적 설계 사이의 오래된 논쟁을 규칙 충돌 판단 기준과 함께 다룬다.

Featured image of post [Clean Code] 22. 동시성 결함과 방어 원칙

[Clean Code] 22. 동시성 결함과 방어 원칙

동시성이 무엇(what)과 언제(when)를 분리하는 전략임을 설명하고, 자료 범위 제한·자료 사본 사용 같은 동시성 방어 원칙을 경쟁 조건 예제와 jcstress 검증 절차, 암달의 법칙 기반 판단 기준으로 함께 다룬다.