self documentation
 작년 실무를 경험했던 교수님은 학생들에게 회사에 가면 소스를 주면서 분석해 보라고 할거라고 했다. 그러면 우선 document를 요구하라고 하셨다. 그러면 오래된(?) 문서를 받게 될 거라고 말했다. 그러면 그 오래된 문서를 기초로 하여 컴포넌트를 분리하고 모든 public 인터페이스를 살펴보고, 다시 컴포넌트 안 private인터페이스를 분석하라고 했다. 그러면서 code 자체가 주석이라고 하셨다. 오래된 주석에 속지 말고(?), 함수이름을 잘 파악해가면서 분석하라고 했다. 그리고 절대로 너희가 예상한 대로 깨끗한 코드는 없을 거라고 했다. 그게 현실이고 또 그 코드 자체가 역사이기 때문에 영광의 상처(?)가 많을 거라고 했다.

 지금 그 교수님 말씀이 생각난다. 난 회사에 다니면 모든 함수에는 파라미터에 대한 정보, 리턴값에 대한 정보, 기본적인 구현에 대한 정보를 주석으로 꼬박꼬박 달아 놓을 거라고 예상했다.  그런데 주석 다는 것은 나 보다 더 못하잖아. 그래도 회사인데...

 어째든 지금 회사에서 코드 분석 중이다. 근데 이거 너무하다. 변변한 문서도 없고(물론 때지만 설계 문서는 있다. ) 주석도 잘 안달렸고. 역시 현실은 이렇구나.

--  회사에서 --


by nahanmil | 2008/02/04 20:06 | 오늘 하루 | 트랙백 | 덧글(4)
트랙백 주소 : http://nahanmil.egloos.com/tb/3606172
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 난슬롯 at 2008/02/04 21:41 # x
ㅎㅎ
작동 설명에 대한 주석은 없는게 낫습니다. 이건 유지보수의 걸림돌밖에 안됩니다. 코드를 수정할때는 주석까지 수정해야하니까요.

제일 좋은건 주석이 필요없는 코드 그자체라고 생각되네요.


꼭 있어야 할 주석이라면 이 코드를 왜 이렇게 만들었는가 하는 정도겠지요.
Commented by nahanmil at 2008/02/05 21:14 #
그래도 회사라면 함수 앞에 이 함수가 하는 일 정도는 적어 주어야 하지 않을까요?? 입사 첫날 이제 회사에 다니면 싫든 좋든 아마추어는 벗어나 프로가 되어야 한다고 했었는데, 그런 것들이 소스에서 안 보이니까 좀 그런내요.
Commented by 난슬롯 at 2008/02/10 15:08 # x
ㅎㅎ
함수가 하는 일은 함수명을 보면 알 수 있죠^^

'리팩토링'을 보신다면 주석이 없는 코드를 만들어야한다는데 동의하실지도? 혹시 보지 않으셨다면 추천합니다^^
Commented by nahanmil at 2008/02/10 23:24 #
함수가 하는 일을 함수명으로 알아야 하는게 정상이겠죠. 그리고 argument 가 무슨 용도인지는 좀 설명이 필요할 것 같은데.. 그 프로그램 소스가 역사가 깊다보니 여기저기 상처(?? )가 많다보니 땜질이 많이 된 것 같아요. 결정적으로 이 소스를 이해하기 위해서는 배경지식이 많이 필요합니다.
전, 그래도 회사라면 doxygen (http://nahanmil.egloos.com/42481) 같은 것으로 주석처리 해 놓을 거라고 예상했었는데.

:         :

:

비공개 덧글

 

<< 이전 다음 >>