단기 목표 뿌수기/실용주의 프로그래머

[노개북 - 6] 4장.실용주의 편집증

전고흐 2022. 3. 24. 08:58
728x90

오늘 TIL 3줄 요약

  • 완벽한 소프트웨어는 만들 수 없다.
  • 단정문으로 불가능한 상황을 예방하라.
  • 언제나 신중하게 작은 단계들을 밟아라.

 

TIL (Today I Learned) 날짜

2022.03.24

 

오늘 읽은 범위

14장.실용주의 편집증

 

책에서 기억하고 싶은 내용을 써보세요.

  1. 가정을 적극적으로 검증하는 코드를 작성하라. - p146
  2. 만약 호출자가 루틴의 모든 선행 조건을 충족한다면 해당 루틴은 종료 시 모든 후행 조건과 불변식이 참이되는 것을 보장한다. - p149
  3. 단순히 입력만 확인하는 것보다 더 좋은 방식이다. 함수 인자가 범위를 벗어나면 아예 함수 호출이 안 된다. - p151
  4. 불변식의 자격이 있는 요구 사항을 찾았다면 여러분이 작성하는 모든 문서에 잘 드러나도록 만들어라. - p156
  5. 모든 오류는 정보를 준다. - p159
  6. '하지만 물론 그런 일을 절대 일어나지 않을거야.'라는 생각이 든다면 그런 일을 확인하는 코드를 추가하라. - p163
  7. 디버깅 행위가 디버깅하려는 시스템의 행동을 바꿔 버리는 일종의 '하이젠버그(Heisenbug)'적인 문제다. - p164
  8. 리소스를 할당하는 함수나 객체가 리소스를 해제하는 책임 역시 져야 한다는 뜻일 뿐이다. - p167
  9. 리소스를 할당한 순서의 역순으로 해제하라. 이렇게 해야 한 리소스가 다른 리소스를 참조하는 경우에도 참조를 망가트리지 않는다. - p171
  10. 코드의 여러 곳에서 동일한 구성의 리소스들을 할당하는 경우에는 언제나 같은 순소로 할당해야 교착 가능성을 줄일 수 있다. - p171
  11. 언제나 신중하게 작은 단계들을 밟아라. 더 진행하기 전에 피드백을 확인하고 조정하라. 피드백의 빈도를 여러분의 제한 속도라고 생각하라. '너무 큰' 단계나 작업은 하지 않게 될 것이다. - p178

 

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 아직까지도 어렵다는 생각이 머릿속 밖을 떠나지 않는다. 이 책은 반드시 한 번 더 읽어야 할 것이다.
  • 메모리 리소스 할당과 해제. 딱 이틀전에 해당 문제로 지적을 받았다. 분명 해제한다고 했지만, 메모리 할당 이후 다른 api의 예외상황으로 종료하는 것을 고려하지 못한 것!... 

 

오늘 읽은 다른사람의 TIL

-

728x90