read
디버깅을 할 때는 코드를 작성한 사람을 개인적으로 알고 있으면 큰 도움이 됩니다. 그 사람의 평소 성격, 버릇, 코드를 작성할 당시의 관심사 등을 알고 있다면 코드의 의도를 쉽게 파악할 수 있지요. 하지만 그 사람을 모르는 사람이 디버깅을 한다면 디버깅은 매우 어려운 단계로 돌입한다고 봐야 합니다.
그러한 측면에서 본다면, 코드라는 것은 처음 작성되었을 때는 개인의 독특한 취향이 스며들어 있지만, 최대한 빨리 코드에서 개인의 체취를 제거하여 보편적인 사람도 선지식이 없이도 그 코드를 이해할 수 있도록 표준화 과정을 거쳐야 합니다. 만약 그 사람이 퇴사하거나 그 사람을 아는 사람들조차도 남아있지 않을 때는 더 힘든 과정을 거쳐야 하겠죠.
이러한 개념을 제럴드 와인버그는 ‘프로그래밍 심리학(Psychology of Computer Programming)’이라는 책에서 ‘자아 없는 프로그램(Egoless Program)’이라는 개념으로서 소개합니다.