이바닥에서 키보드 좀 쳤다 하는 사람이라면, 흔히 인용되는 문구 중에 파씨 형님(=Martin Fowler)이 말한
컴퓨터가 이해하는 코드는 어떤 바보라도 짠다. 좋은 프로그래머는 사람이 이해하는 코드를 짠다
라는 글을 본 적이 있을거다.
참, 좋은 글귀다.
또 Software 칠판에 선좀 그었다 하는 백형(=Kent Beck)은
내가 사용하는 비용 절감 전략은 모든 프로그래머가 커뮤니케이션하기 쉬운 코드를 짬으로써, 유지 비용을 줄이는 것이다.
라고 말했다고 한다.
역시 좋은 글귀다.
어디선가는
당신이 타인의 코드를 쉽게 잘 이해했다면 당신이 뛰어난 것이 아니라 코드를 작성한 사람이 뛰어난 것이다
라는 글귀도 본것 같다.
자, 그러면 이것들이 공통적으로 의미하는 것은 무엇인가?
혼자 방에 앉아서 커피를 홀짝이며 짜서는 결국 혼자만 쓰는 프로그램이 아니라면, 혹은 키보드에 손을 대는 순간 의식을 읽어 왜 이렇게 짰는지 알아버린다는 사이코메트리(Phychometry)와 함께 작업하는게 아니라면,
돌고래와 IQ경쟁을 벌이는 범인들도 소설책을 보듯 읽을 수 있어야 하고,
적어도 이게 날자는 건지 헤엄치자는 건지는 누구나 제대로 이해할 수 있게 프로그램을 작성해야 한다는 소리다.
얼마전에 읽은 어떤 글은
'Email은 누구의 것인가? 쓴 사람(writer)의 것인가? 읽을 사람(receiver)의 것인가? '
라며 커뮤니케이션에서 상대 배려의 중요성을 말하고 있었다. (신 문명의 총아로 인정받다 이제는 쓰레기통처럼 변해 버린 Email 이지만 어쨌든.)
마찬가지로 협업프로그래밍에 종사한 사람은 자신이 작성하는 코드는 누구를 위한 코드인가? 에 대해서 진지하게 고민해 봐야 한다.
개인적으로 생각하는 아름다운사람의 기본 조건은 자신에 대한 존중만큼이나 타인에 대해 배려를 할 줄 아는 사람이라 생각한다. (특히 약자에 대해서는 더욱더!)
그런 의미에서 getNmc() 가 getNameCode 인지 getNativeMachineCode 인지 읽는 사람의 상상력을 한껏 자극해 들판으로 뛰나가고 싶게 유도하는 짓은 미국산 소고기만큼이나 비추인 거다.
'이생각 저생각' 카테고리의 다른 글
소니에릭슨의 CooL!! 그 자체인 서비스 (0) | 2008.06.05 |
---|---|
eclipse 3.4에 탑재된 equinox p2에 대한 시끄러움들 (0) | 2008.06.01 |
일기장 (0) | 2008.05.13 |
Zoundry Raven = Blog Writer (1) | 2008.04.24 |
Nihilistic punch line? (0) | 2008.04.22 |