여름을 맞아 납량특집 Quote
Big Ball of Mud
데이터 구조는 무계획하게 구축됐거나 없는 것과 마찬가지다. 모든 것이 서로 꼬여있다. 중요한 상태 데이터는 모두 전역변수에 담겨있는 것 같다. 상태 데이터가 구획화되어 있더라도 시스템의 원래 구조를 사용하지 않고 뒷구멍으로 무분별하게 넘긴다.
변수와 함수 이름은 알아보기 힘들거나 오해의 소지가 있다. 함수는 별 생각없이 정의한 긴 파라미터 목록을 가질 뿐 아니라 전역변수로 범벅이 되어 있다. 함수는 길이도 길고 복잡하게 꼬여 있을 뿐 아니라 관련 없는 작업을 여러 개 수행한다. 코드는 중복되어 있다. 제어흐름은 이해하기 어렵고 쉽게 따라갈 수도 없다. 프로그래머의 의도를 알아보는 것은 거의 불가능하다. 코드는 읽을 수도 없고 해독도 불가능해 보인다. 많은 사람의 손을 거치며 여러 번 패치된 흔적이 보이며 작업자들은 그들의 작업이 어떤 결과를 초래하는지 거의 이해하지 못한 것 같다. [Foote and Yoder, 66]
'dev' 카테고리의 다른 글
iBeacon에 대한 오해 (0) | 2014.05.14 |
---|---|
vim 에서 split 한 후 열려있던 파일이 readonly 로 바뀔 때 (0) | 2014.03.03 |
ndk-build clean 시에 Syntax error 발생할 땐. (0) | 2013.10.02 |
Data visualization에 관한 글. (0) | 2013.09.30 |
한번에 Python dictionary 여러개 생성 (0) | 2013.09.25 |