숙련공에서 마스터로 라는 부제를 가지고 있다는 개발방법에 대한 서적.
아마도 프로그래머 라면 느꼈을 만한 사항 어쩌면 의도적으로 무시했을 사항 혹의 무의식 중에 지나쳤을 사항을 잘 정리해 놓은 서적이다.
이 책을 읽고나서 내게 필요하거나 적용해야 겠다고 느낀걸 정리해 보면..
11. 프로토타입과 포스트잇
제한된 질문에 대답할수 있는 간단한 개발을 하자.
예를 들어 간단한 UI. 가장 중요한 기능만 구현. 기술적으로 가능한지 궁금한 부분. 성능에 대한 의문 등등.
최대한 빠르고 편하게 개발하도록 스크립트 언어를 도입할수도 있고 그냥 포스트잇 같은것으로 대체할수도 있다. 중요한건 다른 사람에게 나는 테스트를 하고 있다는 것을 이해 시켜야 한다.
-> 구조적, 기술적으로 좀더 매끄러운 진행을 할수 있다.
14. 일반 텍스트의 힘
15. 조개 놀이
19. 텍스트처리
20. 코드 생성기
일반 텍스트를 기반으로 하는(XML, HTML) 파일을 프로그램에서 써서 메타데이타화 시키고 해당 텍스트를 빠르고 쉽게 파싱, 편집할수 있는 스크립트 언어를 익혀라.
-> 우선은 파이썬을 익혀보도록 하자.
18. 디버깅
버그가 발생하면 놀라지 말아라. 버그를 발견한 사람의 말을 경청해라. 니가 만든 버그일 확률이 95.36% 이다.
-> 당황하지 않는것이 정말 중요하다.
31. 우연에 맡기는 프로그래밍
자기가 이해하지 못한 부분. 자기도 모르게 해결된 부분. 무의식중에 가정하고 있는 부분을 하나하나 없애라. 만약 생긴다면 확실히 알아내고 정의해라.
-> 확실히 좀더 프로젝트에 대한 자신감이 생긴다.
34. 테스트 하기 쉬운 코드
43. 가차없는 테스트
유닛테스트 코드를 작성하고 자동 빌드와 더불어 자동 테스트를 구축해야 한다.
-> 아 너무 어렵다!
42. 유비쿼터스 자동화
자동으로 빌드를 하고 빌드에 대한 결과를 리포팅하고 자동으로 테스트를 해서 그 결과도 리포팅을 해야 한다. 스크립터 언어와 간단한 웹으로 처리해라
-> 정말 필요하다. 그리고 디버깅을 위한 선행작업으로 심볼서버 구성도 하고… 역시나 스크립트..
44. 결국은 모두 글쓰기
프로젝트 문서화에 대한 쉽고 편하고 확실한 방법을 마련해라.
-> KingsTools나 독시겐을 사용하면 될것같다. 어차피 주석도 그런 형태로 달고 있으니. 이렇게 문서화 된것도 자동으로 웹으로 갱신되도록 한다면(독시겐등등은 어차피 html로 문서화가 되니 웹서버의 특정 디텍토리로 복사만 하면 된다!) 더욱 좋을것 같다.
물론 이 내용이 끝이 아니다. 나중에 다시 시간을 내서 천천히 정독하면서 지금은 얼마나 잘 적용했고 또 도움이 될만한 내용이 무엇인지를 생각해 봐야겠다.
전체적으로 ‘회사에 속한 개발자’를 위한 지침서 처럼 보이는군.
11. 프로토타입과 포스트잇
제한된 질문에 대답할수 있는 간단한 개발을 하자.
예를 들어 간단한 UI. 가장 중요한 기능만 구현. 기술적으로 가능한지 궁금한 부분. 성능에 대한 의문 등등.
강력하게 추천하는 부분이다. 그리고 늘 염두에 두고 있어라-특히 넌 사장하고 직접 개발건에 대한 토의하는 경우가 많으니까- ‘왜 그렇게 해야하죠?’ 에 대해서 사장도 설득하지 못하는 개발 프로세스가,(그리고 그 산출물이) 고객에게 팔릴 수 있는 ‘제품’이 되리라는 건 망상일 뿐이다.
명심해라. 회사에서 월급을 받으면서 개발을 하는 건 , ‘제품을 만드는 것’이지 자기 이상실현이 아냐.
처음부분에선 회사 얘기를 했지만, 완전히 혼자 개발할 경우도 문서화는 필요해.
그리고 네가 팀장급이 되었을 때, 너 부터 가장 먼저 팀원에게 저러한 부분들을 요구하게 될 것이다.
음 그렇겠죠…