2011년 5월 26일 목요일

Consolidate Conditional Expression

double disabilityAmount() {
if (_seniority < 2) return 0;
if (_monthsDisabled > 12) return 0;
if (_isPartTime) return 0;
// compute the disability amount

double disabilityAmount() {
if (isNotEligableForDisability()) return 0;
// compute the disability amount



같은 결과를 초래하는 일련의 조건 테스트가 있는 겨우 그것을 하나의 조건 식으로 결합하여 뽑아내라

! 동기
-      때때로 각각 검사하는 조건은 다르지만 동일한 결과를 초래하는 조건 검사가 반복되는 것을 보게된다.
-      이런 것은 AND, OR을 사용하여 하나의 결과를 가지는 하나의 조건 검사로 통합해야 한다.
! 절차
-      부작용을 가지고 있는 조건문이 있는지 확인한다.
-      여러 개의 조건문을 논리 연산자를 사용하는 하나의 조건문으로 대체한다.
-      조건에 대한 Extract Method를 사용하는 것을 고려한다.

댓글 없음:

댓글 쓰기

블록체인 개요 및 오픈소스 동향

블록체인(block chain) 블록체인은 공공 거래장부이며 가상 화폐로 거래할때 발생할때 발생할 수 있는 해킹을 막는 기술. 분산 데이터베이스의 한 형태로, 지속적으로 성장하는 데이터 기록 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가...