본문 바로가기
실용주의 프로그래머

4장. 실용주의 편집증

by 아토로 2022. 5. 19.

오늘 읽은 범위

  • 4장. 실용주의 편집증

기억하고 싶은 내용

여러분은 완벽한 소프트웨어를 만들 수 없다.

Topic 23. 계약에 의한 설계

  • DBC(Degign By Contract)
    • 선행 조건: 루틴이 호출되기 위해 참이어야 하는 것
    • 후행 조건: 루틴이 자기가 할 것이라고 보장하는 것
    • 클래스 불변식: 호출자의 입장에서 볼 때는 이 조건이 언제나 참인 것을 클래스가 보장하는 것
계약으로 설계하라.
  • DBC 구현
    • 코드를 작성하기 전에 유효한 입력 범위가 무엇인지, 경계 조건이 무엇인지, 루틴이 뭘 전달한다고 약속하는지, 혹은 더 중요하게는 무엇을 약속하지 않는지 등을 나열하는 것만으로도 더 나은 소프트웨어를 작성하는 데에 엄청난 도움이 된다.
  • DBC와 일찍 멈추기
    • DBC 방식을 하용하여 선행 조건과 후행 조건, 불변식을 검증하면 더 일찍 멈추고, 문제에 대한 보다 정확한 정보를 알려줄 수 있을 것이다.
  • 의미론적 불변식
    • 일종의 ‘철학적 예약'인 절대 어겨서는 안 되는 요구 사항을 표현할 수 있다.

'실용주의 프로그래머' 카테고리의 다른 글

3장. 기본 도구  (0) 2022.03.23
2장. 실용주의 접근법  (0) 2022.03.21
1장. 실용주의 철학  (0) 2022.03.19

댓글