티스토리 뷰

누군가 코드를 만든다. 꽤 잘 만들었다.


다른 누군가 그 코드에 수정사항을 가할 일이 생겼다. 원래 코드의 의도를 100% 이해하지는 못하고 만들게 된다. 당연하다. 일정이 있고, 간단해보이는 일을 하는데, 원래 전체 코드를 다 읽고 일할 수는 없다. 하지만, 특정 함수가 길어지게 되었다.


또다른 누군가가 새로운 기능을 추가한다. 또다시 전체 코드를 모두 이해하고 작업을 하지 않는다. 하지만 새 기능은 제대로 동작하며, 딱히 고쳐야할 이유는 없다. 기존의 코드와 모양새가 다르고, 독립적인 모듈처럼 보이기도 한다.


또 새로운 기능이 추가되는데 앞의 기능과 비슷한 기능이다. 앞에서 누군가가 만든 클래스와 비슷한(복사~붙여넣기를 한) 클래스를 만들어서 하위 모듈로 추가한다. 여전히 잘 동작한다. 꽤 큰 기능인데, 쉽게 만들었다고 좋아한다.


앞의 4명 중, 처음 2명이 퇴사를 하였다. 누구도 코드의 의도를 제대로 파악한 사람이 없다.


새로운 누군가가 정말 간단한 기능을 추가했다. 그런데 중요한 기능이 동작하지 않는다. 디버깅을 한다. 헤맨다. 함수는 엄청나게 길고, 비슷한 클래스들이 여기저기 있고, 이상하게 코드들이 일관성이 없다. 읽기가 힘들다. 이 파일 저 파일을 따라가면서 디버깅을 해야한다.


 What the XXXX. 코드가 왜 이렇게 된거야~~~~~!!!

저작자 표시
신고
댓글
댓글쓰기 폼