코드 복잡도
코드 복잡도
.코드가 얼마나 복잡한지 나타내는 지표
즉, 이해하기 어렵거나 유지보수성이 어려운 정도를 의미함
if
,for
,while
,switch
같은 제어 흐름이 많을수록 복잡도 증가코드 길이와 중첩이 많아질수록 복잡도 증가
가독성이 떨어지고 유지보수성이 떨어짐
복잡도가 높은 코드는 이슈가 발생할 확률이 높다.
복잡도가 높은 함수는 디버깅 시간이 매우 많이 걸리고, 단위 테스트를 작성하기 매우 어렵다.
리팩터링부터 적극적으로 수행
복잡도를 낮추는 방법
하나의 함수가 많은 역할을 하고 있다면 분리 (SRP)
Early Return -> 불필요한 중첩을 줄임
중복된 코드를 재사용하여 유지보수서 높힘
단위 테스트 대상
대부분의 버그는 소스 코드 파일의 약 10% ~ 20% 부분에서 발생한다.
코드의 20%를 커버하면서 차근차근 탐색적 테스트를 수행하는것이 바람직!
범위 선정
최근 변경 횟수에 가중치를 붙이자. -> 핫 스팟
파일의 최근 변경 횟수가 많고, 행수가 긴 것부터 단위 테스트를 수행하는것이 바람직하다.
Last updated