Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
4장. 실용주의 편집증
by mu
#pragmatic
2년 전
375

오늘 TIL 3줄 요약

  • 일찍 작동을 멈추게 하라

  • 단정문을 사용해서 불가능한 상황을 예방하라

  • 리소스를 할당하는 것이 누구이든, 그 리소스를 해제할 책임까지 져야 한다.

TIL (Today I Learned) 날짜

2022. 03. 24

오늘 읽은 범위

4장. 실용주의 편집증

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

  • 정확한 프로그램이란 무엇인가? 스스로 자신이 하는 일이라고 주장하는 것보다 많거나 적지도 않게 딱 그만큼만 하는 프로그램을 말한다.

  • 선행조건 : 루틴이 호출되기 위해 참이어야 하는 것. 루틴의 선행조건이 위반된 경우엔 루틴이 호출되어선 안된다.

  • 후행조건 : 루틴이 자기가 할 것이라고 보장하는 것. 루틴이 완료되었을 때 세상의 상태

  • 클래스 불변식 : 루틴이 종료하고 호출자로 제어권이 반환되는 때에는 불변식이 참이 되어야 한다.

  • 가능한 빨리 문제를 발견하게 되면, 좀 더 일찍 시스템을 멈출 수 있다는 이득이 있다. 프로그램을 멈추는 것이 할 수 있는 최선일 때가 많다.

  • 어떤 상황이 절대 일어나지 않을거라는 생각이 든다면 그걸 확인하는 코드를 추가하라.

  • 에러처리 대신으로 단정을 사용하지는 마라. 단정은 결코 일어나면 안되는 것들을 검사한다.

  • 예외가 프로그램의 정상 흐름의 일부로 사용되는 일은 거의 없어야 한다. 예외는 의외의 상황을 위해 남겨두어야 한다.

  • 리소스를 할당한 순서의 반대로 해제하라. 코드의 여러 곳에서 동일한 리소스 집합을 할당하는 경우, 할당 순서를 언제나 같게 하라. 교착 가능성이 줄어들 것이다.

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

  • 메모리 관리에 대해 생각해본적이 별로 없었는데 자바에서 객체를 다 사용한 후에 null을 넣는다는 내용은 새로웠다.

  • 그동안 예외처리를 마음대로 사용했던것 같다. 예외를 정상적인 처리의 일부로 사용하지 않도록 해야겠다.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • C++로 예시를 든건 언어를 몰라서 그런지 어려웠다.. 객체가 자동 파괴되게 하기 위해 포인터대신 Node 객체로 바꾸는건 잘 이해가 안됐다..

오늘 읽은 다른사람의 TIL