원서 Chapter 25의 의존성 깨기(Dependency-Breaking) 기법들 중 modern Java에서 특히 유용한 핵심 기법들을 JDK 25 기준의 코드 예제와 함께 카탈로그 형태로 정리합니다.
Posts for: #Legacy-Code
WELC ver. 2026 Part 4: 대규모 코드 문제 다루기
비대한 클래스, 몬스터 메서드, 중복 코드 등 대규모 코드 문제를 다루는 전략을 JDK 25 기준의 modern Java 코드로 살펴봅니다. SRP, ISP, Open/Closed Principle 등 SOLID 원칙의 실전 적용을 포함합니다.
WELC ver. 2026 Part 3: 테스트 하네스에 코드 넣기
테스트가 전혀 없는 클래스와 메서드를 테스트 하네스에 넣는 기법들을 다룹니다. Hidden Dependency, Irritating Parameter, Global Dependency 등의 문제 상황별 해법과 Characterization Test 작성법을 JDK 25 코드로 보여줍니다.
WELC ver. 2026 Part 2: 안전한 코드 변경 패턴 — Sprout와 Wrap
레거시 코드에 기능을 추가할 때 가장 즉시 적용 가능한 4가지 패턴 — Sprout Method, Sprout Class, Wrap Method, Wrap Class — 를 JDK 25 기준의 modern Java 코드로 재현합니다.
WELC ver. 2026 Part 1: 레거시 코드의 정의와 변경의 역학
2004년 출판된 Michael Feathers의 명저를 2026년 현재 JDK 25 기준으로 재해석합니다. Part 1에서는 레거시 코드의 정의, 변경의 4가지 이유, Legacy Code Change Algorithm, 그리고 Seam Model을 다룹니다.