2015/066 PHP 리팩토링(2) 리팩토링(2) 1. 여러겹의 조건문을 감시절로 전환 function PayAmount() {$num = DB::getRate(); $result = '';if (_isDead) {$result = $num / 100;} else {if (is_Seperated) {$result = $num * 0.1:} else {if (is_Retired) {$result = $num * 0.3:} else {$result = $num * 0.5;}}} return $result;} 예를 들어 이런 메서드가 있다면, 우선 계산식들을 모두 메서드로 전환 function deadAmount($num){return $num / 100;} function seperatedAmount($num){return $num * 0.1.. 2015. 6. 4. PHP 리팩토링(1) 리팩토링 (1) 고객측에서 리팩토링 의뢰가 들어왔다. 기존 누군가가 짜논 코드를 효율좋게 고치라는 미션이다. 본격적으로 시작하기 앞서 몇가지 필요하다고 생각하는 기법들을 찾아서 참고하려고 하려고 한다. 기법은 마틴 파울러의 리팩토링을 근간으로 하려고 한다. 1. 마법숫자를 상수로 전환 클래스 밖에서 사용할 때 define("LOCAL", "1");define("DEV", "2");define("REAL", "3"); 클래스 안에서 선언할 때 class MyClass {const MIN_VALUE = 0.0; } 2. 절차코드를 객체로 전환각 레코드타입을 읽기 / 쓰기 메소드만 있는 덤 데이터 객체로 변경모든 절차코드를 하나의 클래스에 넣기메소드를 static 로 . 싱글턴 활용 3. 메서드 추출 기법 사.. 2015. 6. 4. 이전 1 2 다음 반응형