- Published on
노마드코더 북클럽 실용주의 프로그래머 TIL 아홉번째
- Authors
- Name
- Gibo Ryu
- @ryugibo
2022년 4월 5일 TIL
오늘 TIL 3줄 요약
- 개인보다는 팀이 실용주의 프로그래머로 구성되었을 때 훨씬 효과적이다.
- 자동화는 필수이다.
- 단순히 코드에 대한 소유권을 주장하기 보다는 내 작품의 품질을 보증한다는 긍지를 갖자.
오늘 읽은 범위
- 9장. 실용주의 프로젝트 (402/477 ~ 431/477)
책에서 기억하고 싶은 내용을 써보세요.
- 프로그래머는 고양이 같은 면이 있다. 호기심 많고 제멋대로이며, 고집이 세고, 독립적인 데다, 가끔은 인터넷에서 숭배를 받기도 한다. (403/477)
- 품질은 팀원 모두가 제각기 기여할 때만 보장되기 때문이다. 품질은 애초에 제품에 포함된 것이지 나중에 덧붙이는 것이 아니다. (405/477)
- 새로운 기술이나 프레임워크, 라이브러리를 그저 "다들 쓰니까"라는 이유로, 또는 콘퍼런스에서 본 것이나 인터넷에서 읽은 글을 바탕으로 도입하지 말라. 후보 기술로 프로토타입을 만들어 보고 신중하게 조사하라. (406/477)
- 팀이 하나로 의사소통하게 도와주는 간단한 마케팅 비결이 있다. 프로젝트를 시작할 때 이름을 지어주는 것이다. 유별난 이름이라면 더 좋겠다. (과거에는 양을 잡아먹는 앵무새, 착시 효과, 애완용 쥐, 만화 캐릭터, 신화의 도시 등으로 프로젝트 이름을 지었다.) 30분 정도 투자해서 괴짜스러운 로고를 만들어 사용하라. 사람들과 대화를 할 때 자신의 팀 이름을 거리낌 없이 사용하라. 바보같이 들리겠지만 팀은 정체성 확립의 기반을 얻을 것이고, 세상은 여러분의 작업과 관련해서 기억할 만한 뭔가를 얻게 될 것이다. (407/477)
- 자동화는 모든 프로젝트 팀에게 필수 불가결한 요소다. 도구 제작 역량을 팀 내에 꼭 갖추어서 프로젝트 개발과 서비스 배포를 자동화하는 도구를 만들고 적용하라. (410/477)
- 화물 숭배의 함정은 너무 솔깃해서 빠지기 쉽다. 눈에 잘 띄는 결과물을 만드는 데만 투자하면서 기반이 되는 작업이 마법처럼 끝나 있기를 소망한다. (412/477)
- 진짜 목표는 작동하는 소프트웨어를 제공 함으로써 사용자가 즉각적으로 새로운 일을 할 수 있게 되는 것이다. (415/477)
- 우연히 코드의 모든 줄이 실행될지라도 그게 전부가 아니다. 정말로 중요한 것은 프로그램이 갖는 상태(
state
)의 개수다. (423/477)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
- 프로젝트를 시작할 때 이름을 지어주는 것. 전에 더블 파인 프로덕션의 다큐멘터리를 봤을 때 유사한 문화를 봤었다. 프로젝트의 코드네임을 차이나타운 다이브 바에서 정한다는 내용인데1.. 상당히 신뢰가는 내용일지도 모르겠다.
- 게임을 만들 때 상용 엔진을 사용하는 경우 사용하는 엔진의 배포버전 크기가 커서 개인 프로젝트에는 자동화를 도입해볼 엄두를 못냈었는데, 생각해보면 개인 프로젝트이니 꼭 VCS에 통합된 CI를 사용할 필요는 없지 않을까? 개인 로컬에서 테스트를 돌려볼수 있다면 나중에 여유가 생겼을 때 구성할 수 있을 것같다. 어디까지나 개인 프로젝트에서 이야기지만..
- 예전 프로젝트에서 테스트 커버리지를 도입했던 적이 있다. 당시에 버그의 양(확인된 것만..)에 비해서 70% 정도였나? 생각보다 높은 커버리지라서 놀랐었는데, 본문의 내용이 맞는 것같다. 당시 테스트들은 단위 테스트보다는 전체 시나리오를 테스트하는 것만 있었는데, 신규 컨텐츠는 테스트가 없는것도 많았고, 컨텐츠가 변경되서 기존 테스트에 구멍이 생기는 경우도 많이 놓쳤던것 같다.