본문 바로가기
[실용주의 프로그래머] 계약에 의한 설계 [실용주의 프로그래머] 계약에 의한 설계 실용주의 편집증 -완벽한 소프트웨어는 만들 수 없다. -우리는 방어적으로 코딩하도록 가르침 받았다. 만약 조금이라도 의심이 들면, 주어진 모든 정보를 확인한다. 잘못된 데이터를 찾아내기 위해 assertion 을 사용한다. 일관성을 확인하고 데이터 베이스 컬럼에 constraint 를 걸면서 대부분은 스스로 만족해한다. 하지만 실용주의 프로그래머들은 여기서 한 걸음 더 나아간다. ‘그들은 자기 자신 역시 믿지 않는다’ 어느 누구 심지어는 자기 자신도 완벽한 코드를 작성할 수 없음을 알기 때문에 실용주의 프로그래머는 자신의 실수에 대비해 방어적으로 코드를 짠다. 계약에 의한 설계 -정직한 거래를 보장하는 최선의 해법 중 하나는 계약이다.계약은 상대편은 물론 자신의 .. 2018. 10. 24.
[Effective Java] 외부에 제공하는 모든 API 요소에 대해 문서화 주석을 넣자. [Effective Java] 외부에 제공하는 모든 API 요소에 대해 문서화 주석을 넣자. - 사용 가능한 API 라면 반드시 문서화해야 한다. 만일 문서화 주석 규칙에 친숙하지 않다면 배워야 한다. - API 를 문서화하려면, 외부에 제공하는 모든 클래스, 인터페이스, 생성자, 메소드, 필드의 선언부 앞에 문서화 주석을 넣어야 한다. 만일 어떤 클래스가 직렬화될 수 있다면 직렬화 형태도 문서화해야 한다. - 문서화 주석이 빠진 API 를 사용하는 것은 실망스럽고 에러가 생길 가능성이 많다. 유지보수 하기 쉬운 코드를 작성하려면 외부에 공개되지 않는 대부분의 클래스, 인터페이스, 생성자, 메소드, 필드에 대해서도 문서화 주석을 작성해야 한다. - 메소드의 문서화 주석에서는 메소드와 클라이언트 사이의 계.. 2017. 1. 23.
반응형