[소공23]리팩토링

반응형

리팩토링

코드스멜

코드이해도

현상/대상/기법

외부에서 본 프로그램의 동작은 변하지 않고 프로그램 내부의 구조를 개선하는 기법

1.원리:기능은그대로 내부구조개선, 버그가능성최소화,코드 깔끔하게 정리, 작성된 코드 설계를 나중에 개선

2.등장배경:SW시스템은 성장하면서 설계구조변경/코드재생산, 사용자요구추가/변경위해서는 설계타당성 재검토, SW본질적으로 복잡해지려는 속성으로 단순방향으로 끌고가려는 방법필요, 객체지향각광에 따른 필요성

3.목적:버그식별용이성,기능추가용이성,리뷰의 간편성,구조단순화(객체,조건문,메소드호출)  

4.대상(코드냄새(켄트백,bad smell in code)):중복코드,긴메소드,긴파라미터,큰클래스,스위치명령문,병렬상속구조,추측근거일반화,임시필드,장문설명문  

5.기법:extractMethod(공통코드조각뽑아냄),replaceTempWithQuery(임시변수메소드화),moveMethod(메소드가 정의된 클래스보다 다른 클래스에서 더 많이 쓰이면 옮김),extractClass(두클래스일을 한클래스가 할때),renameMehod(이름이목적을드러내지못함),fullupfield(서브클래스내 동일필드를 슈퍼클래스로 이동),fullUpMethod(동일동작메소드를 슈퍼클래스로이동),필드 캡슐화(getter/setter)(필드는 private접근자제공)

반응형

'T-prj > 1.SW공학' 카테고리의 다른 글

[소공24]디자인패턴  (0) 2012.08.13
[소공22]프레임워크  (0) 2012.08.13
[소공21]AOP  (0) 2012.08.13

Top