-2000줄의 코드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
프로젝트 관리자, 소프트웨어 개발자, 코드 품질 개선 담당자
핵심 요약
- 코드 라인 수는 소프트웨어 생산성의 잘못된 척도이며, 코드 최적화가 더 중요함
- Bill Atkinson는 Quickdraw 엔진 재작성으로 2,000줄의 코드를 줄이고 성능 6배 향상
- 코드 줄 수 측정은 지저분한 코드를 조장할 수 있어 재구성 전략이 필요함
섹션별 세부 요약
1. 코드 라인 수 측정의 문제점
- Lisa 소프트웨어 팀은 개발자별 주간 코드 라인 수를 추적하는 관리 양식 도입
- Bill Atkinson는 코드 줄 수가 생산성 기준이 될 수 없다고 주장하며 Quickdraw 엔진 재작성
- 코드 줄 수 측정은 비효율적인 코드로 이어질 수 있음
- 관리자는 Atkinson의 -2000 기재 후 폼 제출을 중단
2. 코드 줄 수 감소의 성공 사례
- 6만 줄의 코드 삭제 후 5,000줄로 줄이고 메모리 상태 제거
- 그래프 이론을 활용한 하위 그래프 동형성 문제 해결
- 트리 구조의 경로 추적으로 알고리즘적 최적화 달성
3. 생산성 지표의 재정의 필요성
- 코드 줄 수 보다는 효용성(utility) 기반의 정량적 지표가 필요함
- Dilbert 만화의 역설적 유인(Perverse incentive) 사례로 코드 줄 수 측정의 부정적 영향 강조
- LLM/AI 도입으로 코드 생성/삭제의 생산성 향상 가능성 언급
4. 코드 재구성의 실제 경험
- 80% 기능 구현 상태의 경량 코드로 25만 줄 → 1만7천 줄 감소
- hashmap 기반 접근법으로 타입 복잡성 해결
- dotnet/runtime 저장소의 6만4천 줄 삭제 사례 공유
결론
- 코드 줄 수 측정보다 성능 향상, 가독성, 유지보수성을 기준으로 코드 재구성 전략 수립 필요
- AI 도구 활용으로 코드 줄 수 감소 및 생산성 향상 가능
- 코드 줄 수가 아닌 실질적 기능 구현과 알고리즘 최적화가 핵심 성과 지표임