들어가며
- 습관을 들이기 위해 하루 하루 일지를 작성할 예정
Assert 활용법
- 입력 또는 출력 매개 변수의 값이 예상 범위 내에 속하는지
- 파일이나 스트림이 루틴이 시작할 때 또는 끝날때 열려있는지 또는 닫혀있는지
- 파일이나 스트림이 루틴이 시작할 때 또는 끝날때 시작 또는 끝에 있는지
- 파일이나 스트림이 읽지 전용이나 쓰기 전용, 읽기/쓰기로 열려 있는지.
- 입력만 가능한 변수의 값이 루틴에 의해서 변경되지 않는지
- 포인터가 Null이 아닌지
- 루틴에 전달되는 배열이나 다른 컨테이너가 적어도 X개의 데이터 요소를 포함할 수 있는지
- 테이블이 실제 값을 포함할 수 있도록 초기화 되었는지
- 컨테이너가 루틴이 시작할 때 또는 끝날 때 비어 있는지 또는 채워져 있는지
- 매우 최적화되어 있고 이해하기 어려운 루틴의 결과가 수행 속도는 느리지만 이해하기 쉬운 루틴의 결과와 일치하는지
Reference
스티브 맥코넬 지음, 서우석 옮김 『 코드 컴플리트 2nd edition 』, 위키북스(2017. 07. 28), 인용.
찰스 펫졸드, 『 Code, 하드웨어와 소프트웨어에 숨어있는 언어 』, 인사이트(2010 10 11), 인용.
스티브 프리먼, 냇 프라이스 지음, 이대엽 옮김, 『 테스트 주도 개발로 배우는 객체 지향 설계와 실천 』, 인사이트(2013 06 20), 인용.
앤드류 헌트, 데이비드 토머스 지음, 김창준, 정지호 옮김, 『 실용주의 프로그래머 』, 인사이트(2005 08 02), 인용.