코드 리팩토링 패턴 - 안전하게 코드 개선하기

리팩토링이란

리팩토링은 외부 동작을 유지하면서 코드 구조를 개선하는 것입니다. 40년간 코드를 개선해온 저로서는 리팩토링이 코드 품질 유지의 핵심이라고 확신합니다. 마틴 파울러의 '리팩터링'이 필독서입니다. 테스트가 있어야 안전하게 리팩토링할 수 있습니다.

주요 리팩토링 패턴

Extract Method: 긴 메서드에서 논리적 단위를 추출합니다. Inline Method: 너무 간단한 메서드를 인라인합니다. Rename: 의도를 드러내는 이름으로 변경합니다. Move Method/Field: 적절한 클래스로 이동합니다. Replace Temp with Query: 임시 변수를 메서드 호출로 대체합니다.

조건문 리팩토링

Replace Nested Conditional with Guard Clauses: 중첩 조건을 가드 절로 바꿉니다. Replace Conditional with Polymorphism: 조건문을 다형성으로 대체합니다. Introduce Null Object: null 체크를 널 객체로 대체합니다. 복잡한 조건은 메서드로 추출합니다.

데이터 리팩토링

Encapsulate Field: 필드를 private으로 하고 접근자를 제공합니다. Replace Data Value with Object: 원시 타입을 객체로 감쌉니다. Replace Array with Object: 배열을 클래스로 대체합니다. Introduce Parameter Object: 관련 매개변수를 객체로 묶습니다.

리팩토링 팁

작은 단계로 진행합니다. 한 번에 하나씩 변경합니다. 각 단계 후 테스트를 실행합니다. 커밋을 자주 합니다. 리팩토링과 기능 추가를 분리합니다. IDE의 리팩토링 도구를 활용합니다. '냄새'(Code Smell)를 인식하는 눈을 기릅니다.

댓글

0
첫 번째 댓글을 작성해보세요!
← 목록으로