프로그래밍/리팩토링(2)
-
(작성중) 코드의 구린내
중복코드- 메서드 추출 기법을 적용해서 겹치는 코드를 빼내어 별도의 매서드로 만들어 호출할 수 있다.- 흔한 또 하나의 중복 코드 상황은 한 클래스의 두 하위 클래스에 같은 코드가 들어 있는 경우.(매서드 추출 기법 + 메서드 상향 기법)- 경우에 따라선 탬플릿 매서드 형성 기법을 적용할 수 있다.- 중복 코드가 메서드 가운데 있다면 주변 메서드 추철을 적용하면 된다.- 서로 상관없는 두 클래스 안에 중복 코드가 있을 때는 한 클래스 안의 중복 코드를 클래스 추출이나 모둘 추출한다. 장황한 메서드 방대한 클래스 과다한 매개변수 수정의 산발 기능의 산재 잘못된 소속 데이터 뭉치 강박적 기본 타입 사용 스위치 문 평행 상속 계층 직무유기 클래스 막연한 범용 코드 임시 필드 메시지 체인 과잉 중개 메서드 지나..
2015.09.06 -
리팩토링 개론
리팩토링이란?명사 - 겉으로 드러나는 기능은 그대로 둔 채, 알아보기 쉽고 수정하기 간편하게 소프트웨어 내부를 수정하는 작업.동사 - 리팩토링 기법을 연달아 적용해서 겉으로 드러나는 기능은 그대로 둔 채 소프트웨어 구조를 변경한다. 리팩토링의 목적은 소프트웨어를 더 이해하기 쉽고 수정하기 용이하게 한다.리팩토링은 겉으로 드러나는 소프트웨어 기능에 영향을 주지 않는다. 기능 추가와 리팩토링을 구분하자.기능 추가 - 코드를 추가하지 말고 기능만 추가.리팩토링 - 기능은 추가하지말고 코드 구조만 수정. 두 개의 작업을 할때 프로그래머가 무엇을 하고 있는지 인식하고 해당 작업에 대한 일관성을 유지해야한다. 리팩토링은 왜 하는가?소프트웨어 설계가 개선된다.- 중복 코드를 없앤다. 시스템 속도엔 영향이 미미하지만 ..
2015.09.06