누구나 쉽게 따라 할 수 있는 레거시 코드 개선!
현업에서 개발자 대부분은 신규 프로젝트를 수행하는 것보다 이미 구현된 프로젝트를 유지보수하거나 기능을 추가하는 업무를 주로 한다. 즉, 레거시 코드를 파악하고 레거시 코드에 기능을 추가하거나 수정하는 일이다. 하지만 많은 개발자가 레거시 코드를 다룰 때 어려움을 토로한다. 레거시 코드를 개선하거나 활용하는 데 적지 않은 시간과 노력이 들고, 자신이 만든 코드를 자신이 알아보지 못하는 경우도 종종 생기기 때문이다. 또한, 오랫동안 개선하지 않은 레거시 코드는 개선 기간을 산정할 수 없을 정도까지 엉망이 되어버린 경우도 종종 볼 수 있다.
레거시 코드의 개선 작업을 하는 가장 큰 이유가 여기 있다. 로직이나 기능을 구현한 코드를 다른 사람이 쉽게 파악하게 하고, 기능의 확장이나 수정이 필요할 때 빠르고 안전하게 대응하기 위해서다. 물론 레거시 코드를 개선한다고 해서 이런 문제가 모두 사라지는 것은 아니지만 같은 문제가 발생하는 확률은 눈에 띄게 줄어든다. 그런데 레거시 코드의 개선은 많은 장점에도 불구하고 현업에서는 쉽게 행해지지 않는다. 리팩토링 만으로 레거시 코드를 개선하기에는 부담되고, 함부로 건드렸다가는 예상치 못한 예외 상황이 발생하여 곤경에 처할 수 있기 때문이다. 그래서 현업에서는 안전하고 효율적인 레거시 코드 개선을 원한다.
이 책은 복잡하고 좋지 못한 레거시 코드를 안전하고 효율적으로 개선할 구체적인 방법을 소개한다. 코드가 복잡하다면 TDD 또는 단위 테스트를 작성하여 구현체를 안전하게 수정하고, 문제 해결 방법을 패턴화하여 구현체의 유형만 파악하면 쉽게 수정하는 방법을 제시한다. 또한, 이해하기 쉽게 Step by step 형식으로 레거시 코드의 개선 과정을 보여주며, 현업에서 겪을 수 있는 구체적인 예제를 소개하고 예상되는 질문과 그에 따른 답변을 중심으로 스토리를 전개하여 독자가 쉽게 접근하고 이해할 수 있게 돕는다. 독자는 이 책을 통해 안전하고 쉽게 그리고 효과적으로 레거시 코드를 개선하는 방법을 배울 수 있을 것이다.
1. final static 필드를 모아 놓아서 뚱뚱해진 클래스 개선하기
2. 혼동되는 생성자 초기화 개선하기
3. 독립된 중복 메서드를 효율적으로 개선하기
4. 매개변수 남용으로 거대해진 메서드 개선하기
5. 비즈니스 로직과 기능 호출이 섞여 있는 메서드 개선하기
6 분기문에 복잡하게 꼬여있는 AND와 OR 연산자 개선하기
7. 조건에 따라 분리되는 객체 생성 로직 개선하기
8 응집도가 낮은 멤버 클래스 개선하기
9. 잘못된 이해로 생긴 상속 구조 개선하기
10. 원래 기능과 다른 Null 예외 처리 개선하기
11. 연동 규약에 종속된 구조 개선하기
12. 유사한 기능의 인터페이스 다중 상속 구조 개선하기
13. 놓치기 쉬운 싱글톤 오류 개선하기
리얼타임 eBook 안내
PDF 형식으로 제공되며, 다운로드한 eBook은 PDF 포맷을 지원하는 디바이스 또는 프로그램에서 제한없이 열람할 수 있습니다. 또한 eBook 내의 텍스트 검색 및 인쇄도 가능합니다.