대규모 기존 코드베이스에서 엔지니어들이 저지르는 실수

1 day ago 2

대규모 코드베이스에서 엔지니어들이 저지르는 실수

  • 대규모 코드베이스에서 작업하는 것은 소프트웨어 엔지니어에게 가장 어려운 일 중 하나임. 개인 프로젝트나 오픈 소스 프로젝트로는 이러한 경험을 얻기 어려움.
  • 대규모 코드베이스는 수백만 줄의 코드와 수백 명의 엔지니어가 작업하며, 첫 번째 버전이 최소 10년 이상 된 경우를 의미함.

가장 큰 실수는 일관성의 부족

  • 가장 흔한 실수는 기존 코드베이스를 무시하고 자신의 기능을 구현하는 것임. 이는 일관성을 유지하지 못하게 하여 코드베이스의 혼란을 가중시킴.
  • 일관성은 코드베이스의 복잡성을 줄이고, 미래의 개선을 가능하게 함.
  • 예를 들어, API 엔드포인트를 구현할 때 기존의 인증 방식을 따르는 것이 중요함. 이는 코드베이스의 지뢰밭을 안전하게 통과할 수 있게 해줌.

다른 중요한 요소들

  • 서비스가 실제로 어떻게 사용되는지 이해하는 것이 중요함. 어떤 엔드포인트가 가장 자주 사용되는지, 어떤 엔드포인트가 중요한지 파악해야 함.
  • 대규모 프로젝트에서는 모든 상태를 테스트할 수 없으므로, 중요한 경로를 테스트하고 모니터링에 의존해야 함.
  • 새로운 의존성을 도입하는 것을 매우 신중하게 고려해야 함. 의존성은 보안 취약점과 패키지 업데이트의 지속적인 비용을 초래함.
  • 코드를 제거할 기회가 있다면 신중하게 제거해야 함. 이는 대규모 코드베이스에서 가장 가치 있는 작업 중 하나임.
  • 작은 PR로 작업하고 다른 팀의 코드에 영향을 미치는 변경 사항을 먼저 처리해야 함. 이는 도메인 전문가가 문제를 발견하고 사고를 방지할 수 있게 해줌.

왜 대규모 코드베이스에서 일해야 하는가?

  • 대규모 코드베이스는 대부분의 가치를 창출하며, 이는 엔지니어의 급여를 지불하는 데 기여함.
  • 대규모 코드베이스를 이해하지 않고는 이를 분할할 수 없음. 성공적인 분할은 코드베이스에 대한 깊은 이해가 필요함.

요약

  • 대규모 코드베이스는 급여를 지불하는 데 기여하므로 가치가 있음
  • 가장 중요한 것은 일관성 유지임
  • 기능을 시작하기 전에 코드베이스의 기존 패턴을 조사해야 함
  • 기존 패턴을 따르지 않는 경우, 매우 좋은 이유가 있어야 함
  • 코드베이스의 실제 사용을 이해해야 함
  • 모든 경우를 테스트할 수 없으므로 모니터링에 의존해야 함
  • 코드를 제거할 기회가 있다면 신중하게 제거해야 함
  • 도메인 전문가가 실수를 발견할 수 있도록 쉽게 만들어야 함

Read Entire Article