🧩함수 매개변수 복잡도 경고 체크기

파라미터 과다 함수의 리팩토링 우선순위 진단

매개변수가 많은 함수, 왜 문제일까

매개변수가 많은 함수는 호출할 때마다 순서를 헷갈리기 쉽고, 특히 불리언 플래그가 섞여 있으면 호출부만 보고는 의미를 파악하기 어렵습니다. 이 도구는 전체 매개변수 개수, 불리언 플래그 수, 선택적 매개변수 수를 입력하면 복잡도 점수를 계산해 리팩토링이 필요한지 알려줍니다.

복잡도 점수 산정 방식

항목가중치
매개변수 1개당+8점
불리언 플래그 1개당+10점
선택적 매개변수 1개당+4점

리팩토링은 어떻게 시작할까

점수가 높게 나왔다면 관련 있는 매개변수를 하나의 객체(옵션 객체)로 묶는 것부터 시작하세요. 불리언 플래그는 호출부의 가독성을 크게 떨어뜨리므로, 플래그별로 함수를 분리하거나 열거형(enum) 값으로 대체하는 것이 좋습니다.

자주 묻는 질문

매개변수가 몇 개부터 문제인가요?

일반적으로 4개를 넘으면 가독성이 떨어지기 시작하고, 6개 이상이면 객체 파라미터나 빌더 패턴으로 리팩토링을 고려해야 합니다.

불리언 플래그가 왜 복잡도를 더 높이나요?

불리언 플래그는 호출부에서 의미를 알기 어렵고 함수 내부에 분기 로직을 추가시켜 테스트 케이스를 기하급수적으로 늘립니다.

점수가 높으면 어떻게 리팩토링해야 하나요?

관련 매개변수를 하나의 객체로 묶거나, 불리언 플래그 대신 별도의 함수로 분리하는 방법을 고려하세요.