DAY 4
오늘 읽은 범위 : 4장 실용주의 편집증
책에서 기억하고 싶은 내용을 써보세요.
삶의 공리로 인정하고 받아들여라. 그리고 축하하라. 완벽한 소프트웨어는 존재하지 않기 때문이다.
모든 사람은 지구 상에서 오직 자신만이 훌륭한 운전자라고 생각한다. 이 세상의 나머지 사람들은 빨간불에도 휙 지나가고, 차선을 이리저리 바꾸고, 깜박이도 제대로 넣지 않고, 운전 중에 문자를 하는 등 기준에 못 미치는 행동을 한다. 그래서 우리는 방어적으로 운전한다.
정직한 거래를 보장하는 최선의 해법 중 하나는 ‘계약' 이다.
유효한 입력 범위가 무엇인지
경계 조건이 무엇인지
루틴이 뭘 전달한다고 약속하는지
더 중요하게는 무엇을 약속하지 않는지
등을 나열하는 것만으로도 더 나은 소프트웨어를 작성하는 데에 엄청난 도움이 된다.
방어적 프로그래밍은 시간 낭비다. 그냥 멈추는 게 낫다
촛불 하나를 켜는 건 곧 그림자도 하나 던지는 거란 말이다.
- 자신이 시작한 것은 자신이 끝내라.
리소스를 할당하는 함수나 객체가 리소스를 해제하는 책임 역시 져야 한다는 뜻일 뿐이다.
예측은 힘들다. 특히 미래에 대해서는.
- 작은 단계들을 밟아라. 언제나.
더 진행하기 전에 피드백을 확인하고 조정하라. 피드백의 빈도를 여러분의 제한 속도라고 생각하라. ‘너무 큰' 단계나 작업은 하지 않게 될 것이다.
예언하지 말라.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.
어떤 상황에서든 나 자신을 믿지 말자. 문서화하고 검증하자. DBC
DBC 를 잘 지켜나간다면, 향후 유지보수 측면에도 도움이 많이 될 것 같다.
나뿐만 아니라 모두에게 차선책인 것 같다.
작은 단계들을 밟아라에서 많은 생각을 하였다.
프로그램을 짜는 도중에, 막연하게 이렇게 되는거겠지 했던 것들이 피드백을 받았을 때 아니었던 경우가 많았다.
그 순간 당연히 이렇게 되는 거겠지라는 나의 고정관념으로 인하여 나중의 내가 곤란해졌던 경우가 많다.
항상 프로그램을 세분화하여 쪼개서 피드백을 받는 것이 중요하고, 나 자신을 많이 반성했다.