코드는 쉽게 깨진다

개발자들은 “수정하기보다 새로 만들기가 더 쉽다”고 말한다.

개발 경험이 없는 이들은 개발자들이 “자기만의 코드를 짜는 걸 좋아한다”는 인상을 갖지만, 경험상 코드는 너무도 쉽게 깨진다. 그래서 잘못 설계된 코드가 추가되면 되돌리기가 무척이나 어렵다. 나쁜 코드를 좋은 코드로 돌이키는 “리팩토링과 테스팅”이란 기술이 개발자들에게는 있지만, 이마저도 코드의 나쁜 수준이 특정 수준을 넘어서면 리팩토링으로 되살리기 어렵다. 그럴때 개발자들은 “개편”이란 전략을 제안한다. 왜냐하면 기능을 추가하기가 불가능에 가까울 정도로 어렵고 위험한 상황이 되어 버렸으니까.

코드의 이런 특성은 마치 “엎질러진 물”과 비슷하다. 엎질러진 물을 다시 그릇에 담기 어렵듯이, 망가지기 시작한 코드를 되돌리는 작업은 어렵다기보다 불가능에 가깝다고 봐야 한다. 이 특성은 여러 사람의 개발자가 손을 대면 댈수록 더욱 강화된다. 좋은 개발자 여럿이 맡다가 그렇지 않은 개발자 한 명이 손을 대는 순간 그 코드는 유지보수가 어려운 코드가 된다.

따라서 설계를 잘 하고, 코드를 소중하게 다루는 개발자를 만나 계속 그에게 유지 보수를 맡기거나. 기능이 작동하는 것만 만족하고 시간이 지나면 새로 만드는 전략을 쓰거나 둘 중의 하나만 가능하다. 물론 코드 한 줄, 한 줄에 정성을 쏟는 개발자랑 일하는게 바람직하다.

개발. 하면 할수록 예민하고 어려운 작업이다.

답글 남기기

댓글을 게시하려면 다음의 방법 중 하나를 사용하여 로그인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중