2006년 10월 19일 목요일

코드를 작성할 때에는...

"코드를 작성할 때에는 지금 작성하고 있는 코드를 당신의 연락처를 알고 있는 난폭한 살인마 프로그래머가 물려받을것이라고 생각하라."

이 말을 어디서 읽었는지는 기억이 나지 않는데, 요즘 들어 다시 생각하게 됩니다.

개발자의 성과물은 실행파일 바이너리가 아닌, 문서와 소스코드입니다. 바이너리는 소스코드를 이용해 뽑아내는 부가적인 산출물일 뿐입니다. 운동 선수가 몸을 제대로 만들지 못하면 경기 결과가 좋을 수 없는 것처럼, 좋은 소스코드 없이 좋은 소프트웨어가 나올 수는 없는 것입니다.

좋은 소프트웨어란, 사용자를 만족시키며 안전하게 돌아가는 소프트웨어입니다. 당장 키보드를 잡고 씨름하기 전에, 내가 구현할 내용을 정리해 보고 소스 코드가 어떻게 읽기 좋은 구조로 구성될 수 있는지를 생각해 보세요. 그리고 내 소스 코드를 물려받는 살인마 개발자가 기분 좋게 나를 다른 프로젝트로 보내줄 수 있을지도 생각해 보시기 바랍니다. ^^

댓글 5개:

  1. 에구......

    내가 여태 개발한 게 8개 정도 되는데, 8번은 죽은 셈이네.....

    살 떨리네요 ㅠㅠ

    답글삭제
  2. 프로그래밍을 업으로 삼아 하는 사람들은 남이 작성해 놓은 코드를 관리해야 하는 경우가 생깁니다. 업그레이드나 버그 수정등을 위해서지요. 어떤 코드는 '한수 배운다'라는 생각이 들게 하지만, 어떤 코드는 못만들었다는 생각과 함께 '이 자식!!'하고 울컥하며 올라오게 만들기도 합니다.

    심한 사람들은 자기가 만든 코드를 나중에 자기가 보면서 욕하기도 하죠



    저도 요즘 잠시 살인마가 될 뻔한 적이 있었거든요. 그리고 또 저를 보며 반성하고 있습니다.^^

    답글삭제
  3. 전 업으로 하는 것은 아니니 스스로 소스를 공개하지 않는 한, 당할 일이 없겠죠? 같이 공부하자는 차원에서 공개를 좀 하려고 했는데 생각해보면 익명성이 보장(?)되는 인터넷 문화 그리고 일반 웹 사이트의 댓글을 보노라면 그 문화의 일원이 되고 싶은 마음이 싹 사라집니다. 취미로 시작한 것이고, 내 스스로의 만족 및 업무 편의성만 추구할랍니다. 이젠 나이를 먹어선지 칼들고 덤비면 빨리 도망갈 자신 마저 없거든요 ^^

    답글삭제
  4. 사실 소스 코드는 말 그대로 "코드"이기 때문에 잘 쓴 코드가 아니면 이해하기가 힘듭니다. 자신이 만들어 놓은 것도 시간이 지나면 이해가 안되기 쉬운데, 남이 만들어 놓은 것을 읽고 해석하는 것은 스트레스가 여간한 것이 아닙니다(특히 문제가 생겨 고쳐야 하는 경우에는 더 그렇죠).



    주어진 일을 숙제처럼 하고 떼우려는 사람의 코드는 아무래도 표가 나기 마련이죠. 취미로 만든 분들의 코드가 오히려 더 나은 경우가 많습니다. 자기 스스로에게 좋은 결과(소스 코드)를 남기려 하기 때문인 것 같습니다. ^^

    답글삭제
  5. 저도 정확하게는 기억이 안 나지만..."스티브 맥코넬"이 아닌가 싶네요..."code complete"이었던 듯..역시 프로젝트에서 젤 중요한 건 어떻게 빠져나오냐인 듯..-_-;;

    답글삭제