리팩토링
-
리팩토링 : Inline Method리팩토링 2012. 12. 26. 09:00
조건메소드의 본문이 메소드 이름 만큼이나 명확하다면 적용해당 본문을 메소드를 호출하는 호출자 안으로 옮기고 메소드를 삭제하시오. 적용전 int getRating() { return (moreThanFiveLateDeliveries()) ? 2 : 1; } boolean moreThanFiveLateDeliveries() { return _numberOfLateDeliveries > 5; } 적용후 int getRating() { return (_numberOfLateDeliveries > 5) ? 2 : 1; } 참조http://www.refactoring.com/catalog/inlineMethod.html
-
리팩토링 : Extract Package (웹전용)리팩토링 2012. 12. 18. 09:00
저자 : Gerard M. Davison 조건패키지가 쉽게 이해하기에 너무 많은 클래스들을 가지고 있거나 '난잡한 패키지(Promiscuous packages)'의 냄새를 풍긴다면 적용의존성이나 사용성에 따라서 하위 패키지로 뽑아내시오. 적용전 interface org.davison.data.DataProvider class org.davison.data.DataFactory // Database classes class org.davison.data.JDBCProvider class org.davison.data.JDBCHelper class org.davison.data.JDBCUtils 적용후 interface org.davison.data.DataProvider class org.davison.d..
-
리팩토링 : Extract Method리팩토링 2012. 12. 17. 09:00
조건함께 그룹화될 수 있는 코드 조각이 있다면 적용적절한 메소드를 만들고 코드들을 해당 메소드안으로 옮기시오. 적용전 void printOwing() { printBanner(); //print details System.out.println ("name:" + _name); System.out.println ("amount" + getOutstanding()); } 적용후 void printOwing() { printBanner(); printDetails(getOutstanding()); } void printDetails (double outstanding) { System.out.println ("name:" + _name); System.out.println ("amount" + outstand..
-
리팩토링 : Encapsulate Field리팩토링 2012. 12. 14. 09:00
조건public 필드가 있다면 적용해당 필드를 private로 변경하고 접근할수 있는 방법을 제공하라. 적용전 public String _name; 적용후 private String _name; public String getName() {return _name;} public void setName(String arg) {_name = arg;} 참조http://www.refactoring.com/catalog/encapsulateField.html