[실용주의 프로그래머] 4장_실용주의 편집증

szlee·2022년 5월 20일
0

완벽한 소프트웨어는 존재하지 않는다.




🤝 계약에 의한 설계

DBC (Design By Contract)
정확한 프로그램이란? 딱 그만큼만 하는 프로그램. 계약에 부응하지 못하는 것은 버그이다.
선행 조건 : 제대로 된 데이터를 전달하는 것은 호출하는 쪽의 책임.
후행 조건 : 종국에는 종료될 것. 무한반복은 불허

-> 구현 : 코드 작성 전 유효한 입력 범위, 경계 조건 등을 나열해본다.

개발에 들어가기 전 설계의 과정을 충분히 거쳐야한다.
설계를 충분히 하지 않으면 개발 중간중간에 요구사항이 추가되거나 방향이 달라지거나 하는 경우가 생겨 결국 개발 기간도 늘어나게 된다.





💡 헤드라이트를 앞서가지 말라

헤드라이트는 '투사 거리'라고 부르는 범위까지만 밝힐 수 있다.
작은 단계들을 밟아라 언제나. 너무 큰 작업='예언'을 해야 하는 모든 작업.
여러분이 볼 수 있는 미래까지만 고려하라. 미래가 어떤 모습일지 더 많이 에측하려 할수록 여러분이 틀릴 가능성은 계속 높아질 것이다. -> 언제나 교체 가능한 코드로 작성하여 대비하면 된다.

개발 전 설계 과정에서 이슈가능성, 확장성을 생각해야 하지만 너무 멀리까지, 너무 깊이 들어가면 복잡해지고 시작을 못할 수 있다. 어느정도까지 생각하되 언제나 교체할 수 있는 유연한 코드로 작성하자.







profile
🌱

0개의 댓글