오늘 읽은 범위
- 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 |
댓글