TIL (Today I Learned)
2022.03.20 ~ 21
오늘 읽은 범위
2장. 실용주의 접근법
40p
'내가 방금 한 일이 전체 시스템을 바꾸기 쉽게 만들었을까, 어렵게 만들었을까?’ 파일을 저장할 때마다 물어보라. 테스트를 쓸 때도, 버그를 수정할 때도 물어보라.
43p
모든 지식은 시스템 내에서 단 한 번만, 애매하지 않고, 권위 있게 표현되어야 한다.
54p 직교성
- 직교성orthogonality은 설계와 빌드, 테스트, 확장이 쉬운 시스템을 만드는 데에 있어 매우 중요한 개념이다.
- 하나가 바뀌어도 나머지에 어떤 영향도 주지 않으면 서로 직교한다고 할 수 있다.
- 관련없는것들간에서로영향이없도록하라
79p 예광탄과 프로토타입은 다르다.
예광탄 코드는 기능은 별로 없지만 완결된 코드이며, 최종 시스템 골격 중 일부가 된다. 프로토타입은 예광탄을 발사하기 전에 먼저 수행하는 정찰이나 정보 수집과 같은 것이다.
80p
세부 사항을 포기할 수 없는 환경에 처해 있다면 진짜로 프로토타 입을 만들고 있는 게 맞는지 자문해 보라. 아마도 이런 경우에는 예광탄 방식 의 개발이 더 적절할 것이다.(71쪽의 ‹항목 12. 예광탄› 참고)
프로토타입 코드는 폐기할 것이고, 불완전하며, 완성할 수 없다는 사실을 분명히 주지시켜야 한다.
99p
여러분의 추정 실력을 기록하라
원인이 무엇이든 시간을 들여 이를 규명하라. 다음 추정치는 훨씬 나아질 것이다.
101p
초기 기능의 구현과 테스트를 마친 후, 이를 첫 번째 반복 주기의 끝으로 삼아라. 첫 반복 주기의 경험을 바탕으로 반복 주기의 수와 각 반복 주 기에서 무엇을 할지에 대한 처음의 추측을 다듬을 수 있을 것이다.
프로젝트와 나를 좋은 개발자로 만드는 설계에 대한 글이었던것 같다.
클린코드에서 중복되는 지식들도 많이 보이지만 처음 보고 많이 배우는 느낌이 들었다.
Low of Demeter (데메테르 법칙) : 다른 객체가 어떠한 자료를 갖고 있는지 속사정을 몰라야 한다는 것을 의미