개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
좋은 설계는 나쁜 설계보다 바꾸기 쉽다.
DRY와 직교성을 생각하며 설계를 하자
예광탄과 프로토타입은 다르다.
TIL (Today I Learned) 날짜
2022. 05. 16
오늘 읽은 범위
2장. 실용주의 접근법
책에서 기억하고 싶은 내용을 써보세요.
좋은 설계는 나쁜 설계보다 바꾸기 쉽다.
스스로 자꾸 물어보라. '내가 방금 한 일이 전체 시스템을 바꾸기 쉽게 만들었을까, 어렵게 만들었을까?'
DRY를 따르지 않으면 하나를 바꾸면 나머지도 바꿔야 함을 기억해야 한다.
DRY는 지식의 중복, 의도의 중복에 대한 것이다.
특정 기능에 대한 요구 사항을 대폭 변경하는 경우 몇 개의 모듈이 영향을 받는가?
자신의 힘으로 제어할 수 없는 속성에 의존하지 말라.
최종 결정이란 없다.
유행을 쫓지 말라. 누구도 어떤 미래가 펼처질지 알 수 없으며, 우리 분야는 특히 더 그렇다.
프로토타입을 코드로 만들 때는 시작하기 전에 항상 모든 사람에게 여러분이 폐기 처분할 코드를 작성하고 있다는 사실을 이해시켜야 한다.
사업 부서 사람들은 달성하려는 목표에 대해 두루뭉술한 생각만 갖고 있을 뿐, 세부 사항에 대해서는 알지도 못하고 신경도 안 쓴다.
추정치는 어디에서 나오는가? 이미 그 일을 해본 사람에게 물어보라.
결과에 가장 큰 영향을 미치는 매개 변수를 찾아서 이 매개 변수의 값을 최대한 정확하게 산출해 내는 것이다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
이 책을 읽기 전에 객체 지향 설계에 대한 Object라는 도서를 읽었는데, 그 책에서 말하고자 했던 부분과 일맥상통하는 부분이 정말 많아서 공감이 가는 챕터였습니다.
"좋은 설계란 오늘의 기능을 수행하면서 내일의 변경을 수용할 수 있는 설계" 해당 책을 읽고 내린 가장 핵심적인 문장이라 기억하고 있었는데 이 책에서도 여러번 강조하는 내용 같아 성장해 나가는 느낌이 들었습니다.
또한, 제 힘으로 제어할 수 없는 속성에 저도 모르게 의존하고 있다는 생각이 많이 들었습니다. 외부 요인이지만 항상 유지될 것이라 생각하고 코드를 짠 기억이 나는데 위험한 행위였다는 것을 상기시켜줘서 도움이 되었습니다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
도메인 언어에 대한 부분은 완벽하게 이해가 되지 않아서 여러번 읽어봐야 할 것 같습니다.