AI Briefing

코드 품질 개선 - 세션 39: 작업 전 데이터 전달하기

·2025.07.25 11:00

함수 인자와 반환값을 활용해 작업 순서를 명시적으로 정의하고, 응집도를 높이며 결합도를 낮추는 방법을 제안한다.

특정 함수가 반드시 다른 함수의 실행 이후에 호출되어야 하는 제약 조건이 있을 때, 이를 명시하지 않으면 런타임 에러가 발생할 위험이 있다. 예를 들어, 미디어 재생 클래스에서 초기화 함수(initMedia)를 호출하지 않고 재생 함수(playMedia)를 호출하는 경우다.

이러한 암시적 의존성을 해결하는 가장 좋은 방법은 인자와 반환값을 사용하여 제약 조건을 명시하는 것이다. 초기화 함수의 결과물을 다음 함수의 인자로 전달하도록 설계하면, 개발자가 실수로 순서를 어기는 것을 방지하고 올바른 순서로 호출하도록 강제할 수 있다.

이러한 설계는 코드의 **응집도(Cohesion)**와 **결합도(Coupling)**를 동시에 개선한다.

  • 응집도: 단순히 정해진 순서대로 동작하는 '절차적 강도'에서, 데이터가 흐르는 '통신적 강도'로 발전하여 응집도가 높아진다.
  • 결합도: 인스턴스 속성을 공유하는 '공통 결합(Common Coupling)'에서, 구조화된 값을 전달하는 '스탬프 결합(Stamp Coupling)'으로 약화되어 결합도가 낮아진다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.