3. 코드 단위는 간단하게 짜라
가이드라인
단위당 분기점은 4개로 제한한다
복잡한 단위는 더 잘게 나누고, 서로 뭉쳐 있지 않게 한다
분기점 개수가 줄면 단위 수정 및 테스트가 쉬워지고 유지보수성이 개선된다
모든 문제는 내부에 더 작은 문제들이 있다.
-마틴 파울러
분기점, 복잡도, 실행경로
if, switch, 클래스, 인터페이스 등
분기점이 하나도 없다면 -> 실행흐름은 하나뿐 -> 테스트케이스도 1개면 충분!
1. 필요성
간단한 단위는 이해하기 쉽고, 수정하기도 쉽다
테스트하기 쉽다
간단한 단위는 수정하기 쉽다.
복잡한 단위는 분석 및 수정이 어려움
간단한 단위는 테스트하기 쉽다.
테스트를 쉽게 하기 위해서라도 단위는 간단하게 작성해야 한다.
분기가 6개인 경우 최소한 테스트케이스는 6개가 존재해야 한다. 그래야 유지보수 과정에서 생길지 모를 사소한 버그를 예방 할 수 있음!!
2. 적용가이드
분기점 개수는 4개로 제한!!
if, case, ?, && ||, while, for, catch
분기절의 깊이나 길이가 늘어나면 분석이 힘들어진다!!
조건문 체인 다루기
독립적인 코드블록 서너개 뭉침 -> 메서드 추출 패턴 리팩토링
조건을 다형성으로 대체 -> 디자인패턴 : 상태패턴 / 다형성 활용
단점은... 구현 클래스가 많아짐
장점은 복잡도 낮춤, 다형성 활용으로 수정 최소화, 에러가 날 수 없는 형태로 명확화
Map 자료구조 활용
상태패턴 활용
간결함이냐, 확장성이냐... 그건 상황에 따라 적절히 선택 ! 개발자의 몫
중첩 다루기
중첩문을 보호절로 대체 (Replace Nested Conditional with Guard Clauses)
중복되는 조건절 걸러내기
Last updated
Was this helpful?