Skip to main content Link Search Menu Expand Document (external link) Copy Copied

코드베이스의 이해

코드베이스란 하나의 레파지토리에 저장된 소스 코드의 집합을 의미한다. 이는 컴파일과 배포를 독립적으로 수행하는 단위다. 큰 시스템에서는 여러 개의 코드베이스를 가질 수 있다.


대규모 소프트웨어 시스템의 문제점

  • 실패할 가능성이 높다
  • 유지보수가 어렵다
  • 결함 밀도가 높다

코드베이스를 작게 유지하는 가이드

  1. 범위 추가를 피한다
    • 불필요한 기능은 제거한다
  2. 기능을 표준화한다
  3. 코드를 복사 붙여넣기 하지 않는다
  4. 기존 코드를 리팩터링한다
  5. 외부 라이브러리나 프레임워크를 사용한다
  6. 대규모 시스템을 분리한다

코드베이스 크기와 관련된 의견

  • 추가한 코드량에 따라 생산성을 측정하는 것은 부정적인 행동을 유발한다
  • 언어에 따라 코드베이스 크기를 줄일 수 없는 경우도 있지만, 작게 만들기 위한 노력은 필요하다
  • 복잡한 시스템에서 기존 코드를 그대로 복사해서 사용하는 것은 변명이다
  • 코드베이스를 나눌 경우 코드 중복이 발생할 수 있으나, 이는 중복에 관한 가이드라인을 우선해야 한다
  • 시스템이 강하게 결합되어 있어 분리할 수 없는 경우, 인터페이스를 통해 접근하는 방법을 고려한다