콘텐츠로 건너뛰기

미진한 설계

미진하게 설계를 하는 이유 >
1) 시간도 없고, 시간을 내기도 어렵고, 리팩터링할 시간도 주어지지 않을 때
2) 어떤 것이 훌륭한 설계인지 모를 때
3) 기존 시스템에 새로운 기능을 급하게 추가해야 할 때
4) 한꺼번에 너무 많은 프로젝트에 참여해야 할 때

미진한 설계를 하게 되면 >
시간이 지나면서, 미진하게 설계된 소프트웨어는 비용이 많이 들고,
유지보수가 어렵거나 불가능한 골치덩어리가 된다.

미진한 설계란 >

데이터 구조는 무계획하게 구축됐거나 없는 것과 마찬가지다.
모든 것이 서로 꼬여있다.
중요한 상태 데이터는 모두 전역변수에 담겨있는 것 같다.
상태 데이터가 구획화되어 있더라도 시스템의 원래 구조를 사용하지 않고 뒷구멍으로 무분별하게 넘긴다.
변수와 함수 이름은 알아보기 힘들거나 오해의 소지가 있다.
함수는 별 생각없이 정의한 긴 파라미터 목록을 가질 뿐 아니라 전역변수로 범벅이 되어 있다.
함수는 길이도 길고 복잡하게 꼬여 있을 뿐 아니라 관련없는 작업을 여러 개 수행한다.
코드는 중복되어 있다.
제어 흐름은 이해하기 어렵고 쉽게 따라갈 수도 없다.

프로그래머의 의도를 알아보는 것은 거의 불가능하다.
코드는 읽을 수도 없고 해독도 불가능해 보인다.
많은 사람의 손을 거치며 여러 번 패치된 흔적이 보이며,
작업자들은 그들의 작업이 어떤 결과를 초래하는지 거의 이해하지 못한 것 같다.

요즘 회사에서 느끼는 것을 심하게 잘 드러낸 말들이라서 한 번 적어놓는다.

결국 개발자나 관리자는 위와 같이 하지 않도록 하는 것이 중요하다.
그나저나 미국이나 한국이나 다 거기서 거기란 생각도 들고 그렇네.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다