본문 바로가기

계약에 의한 설계2

[도서 목차 정리] 실용주의 프로그래머 [도서 정리] 실용주의 프로그래머 고양이가 내 소스를 삼켰어요소프트웨어 엔트로피돌멩이 수프와 삶은 개구리적당히 괜찮은 소프트웨어지식 포트폴리오소통하라!중복의 해악직교성가역성예광탄프로토타입과 포스트잇도메인 언어추정일반 텍스트의 힘조개 놀이 (Shell Games)파워 에디팅소스코드 관리디버깅텍스트 처리코드 생성기계약에 의한 설계죽은 프로그램은 거짓말을 하지 않는다단정적 프로그래밍언제 예외를 사용할까리소스 사용의 균형결합도 줄이기와 디미터 법칙메타 프로그래밍시간적 결합단지 뷰일 뿐이야칠판우연에 맡기는 프로그래밍알고리즘의 속도리팩터링테스트하기 쉬운 코드사악한 마법사요구사항의 구렁텅이불가능한 퍼즐 풀기준비가 되어야만명세의 함정동그라미와 화살표실용주의 팀유비쿼터스 자동화가차 없는 테스트결국은 모두 글쓰기위대한 유.. 2018. 11. 20.
[실용주의 프로그래머] 계약에 의한 설계 [실용주의 프로그래머] 계약에 의한 설계 실용주의 편집증 -완벽한 소프트웨어는 만들 수 없다. -우리는 방어적으로 코딩하도록 가르침 받았다. 만약 조금이라도 의심이 들면, 주어진 모든 정보를 확인한다. 잘못된 데이터를 찾아내기 위해 assertion 을 사용한다. 일관성을 확인하고 데이터 베이스 컬럼에 constraint 를 걸면서 대부분은 스스로 만족해한다. 하지만 실용주의 프로그래머들은 여기서 한 걸음 더 나아간다. ‘그들은 자기 자신 역시 믿지 않는다’ 어느 누구 심지어는 자기 자신도 완벽한 코드를 작성할 수 없음을 알기 때문에 실용주의 프로그래머는 자신의 실수에 대비해 방어적으로 코드를 짠다. 계약에 의한 설계 -정직한 거래를 보장하는 최선의 해법 중 하나는 계약이다.계약은 상대편은 물론 자신의 .. 2018. 10. 24.