DEV Community

junghwan
junghwan

Posted on

소프트웨어 엔트로피

《실용주의 프로그래머(The Pragmatic Programmer)》 2장을 읽고 정리한 내용입니다.

소프트웨어도 시간이 지나면 점점 엔트로피(무질서도)가 증가한다. 우주가 끊임없이 무질서해지는 것처럼, 유지보수가 제대로 되지 않은 소프트웨어는 점점 더 엉망이 된다. 문제는 단순히 기술적인 요소만이 아니라 심리적, 문화적 요인도 소프트웨어의 부패를 가속화한다는 것이다.

깨진 창문 이론

이 책에서는 깨진 창문 이론(Broken Windows Theory)을 소프트웨어 개발에 적용해 설명한다.

건물에 깨진 창문 하나가 오랫동안 방치되면, 거주자들은 그 건물이 버려졌다고 느낀다. 그러면 다른 창문도 깨지기 시작하고, 결국 건물 전체가 황폐해진다.

이 이론은 뉴욕 경찰이 경범죄를 단속함으로써 강력범죄까지 줄이는 데 도움을 줬다. 마찬가지로, 개발에서도 작은 문제를 방치하면 코드 전체가 무너질 위험이 있다.

Tip 4: 깨진 창문을 내버려두지 말라

나쁜 설계, 잘못된 결정, 혹은 형편없는 코드가 깨진 창문과 같다.

이걸 발견하면 방치하지 말고 바로 조치해야 한다.

어떻게 고칠까?

  • 문제가 되는 코드를 주석 처리하거나
  • ‘Not Implemented’라는 메시지를 표시하거나
  • 더미 데이터로 대체하는 방법이 있다.

작은 문제라도 그냥 두면 점점 커지면서 프로젝트 전체를 부패시킨다.

깨끗한 코드가 팀 문화에 미치는 영향

만약 코드가 깨끗하고 우아하게 설계된 프로젝트라면?

그 팀에 속한 사람들은 자연스럽게 그 청결함을 유지하려고 노력한다.

심지어 데드라인이 급박한 상황에서도 최초로 코드 품질을 희생하는 사람이 되는 것은 꺼리게 된다.

내 생각

이 내용을 읽으면서 개발뿐만 아니라 팀 문화 전반에도 적용할 수 있겠다는 생각이 들었다.

작은 문제를 그냥 두는 습관이 쌓이면, 결국 “우리 프로젝트는 원래 이래”라는 분위기가 형성된다.

그러다 보면 점점 코드가 더러워지는 걸 아무도 신경 쓰지 않게 된다.

반대로, 코드 품질을 중요하게 생각하는 분위기가 만들어지면 팀원들도 자연스럽게 더 나은 코드를 유지하려고 노력한다.

결국 깨진 창문을 방치하지 않는 것이 개발자 개개인의 성장뿐만 아니라 팀 전체의 성장에도 영향을 미친다.

나도 앞으로는 “이 정도는 그냥 넘어가도 되겠지”라는 생각을 줄이고, 작은 문제라도 발견하면 바로 정리하는 습관을 들여야겠다. 😊

Top comments (0)