반응형
리팩토링
코드스멜
코드이해도
현상/대상/기법
외부에서 본 프로그램의 동작은 변하지 않고 프로그램 내부의 구조를 개선하는 기법
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 |
Recent Comment