Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
TIL #5. 구부러지거나 부러지거나
#pragmatic
2년 전
484

오늘 TIL 3줄 요약

  • 결합도를 낮추어 유연한 코드를 작성하자.

  • 수정 할 수 있는 외부 리소스는 모두 전역 데이터이다.

  • 어디서나 접근할 수 있는 데이터 역시 교묘하게 결합을 만들어 낸다.

TIL (Today I Learned) 날짜

2022. 05.21

오늘 읽은 범위

5장. 구부러지거나 부러지거나

책에서 기억하고 싶은 내용을 써보세요.

  • page 181. 삶은 멈추지 않는다. 우리가 작성한 코드도 마찬가지다. 현대의 미친듯이 빠른 변화 속도를 따라가려면 가능한 한 느슨하고 유연한 코드를 작성하여야 한다.

  • page 186. 이 원칙은 다른 객체의 내부 상태에 따라 판단을 내리고 그 객체를 갱신해서는 안된다는 것이다.

  • page 187. 하지만 TDA ( Talk Don't Ask ) 는 자연법칙이 아니다. 문제를 알아볼 수 있게 도와줄 뿐이다.

  • page 187. '무언가에 접근한다.'는건 중간 변수를 사용해야하는 경우까지 포함한다.

  • page 189. 점 하나 규칙에는 큰 예외가 하나 있다. 엮는 것들이 절대로 바뀌지 않을 것 같다면 이 규칙을 지키지 않아도 된다.

  • page 190. 어디서나 접근할 수 있는 데이터는 교묘하게 애플리케이션 컴포넌트 간의 결합을 만들어 낸다.

  • page 190. 코드를 처음 작성하는 시점의 제 1관심사가 코드 재활용이면 안될 것이다. 하지만 우리의 경험에 비추어 볼 때 코드를 재사용할 수 있도록 해야 한다는 생각이 코딩 습관의 일부가 되어야 한다.

  • page 191. 외부로 노출된 인스턴스 변수가 잔뜩 있는 싱글턴은 여전히 전역 데이터이다.

  • page191. 수정 가능한 외부 리소스는 모두 전역 데이터이다.

  • page 210. 때에 따라서는 요구사항에서 시작하는게 변환을 찾는 가장 쉬운 방법이다.

  • page 226. 상속도 일종의 결합이다.

  • page 228. 따라서 아무리 복잡한 클래스 계층돠 마음에 들더라도 어차피 여러분의 도메인을 정확하게 모델링 할 수는 없다.

  • page 232. 서비스에 위임하라. IS-A 가 HAS-A 보다 낫다.

  • page 236. 애플리케이션이 출시된 이후 바뀔 수 있는 값에 코드가 의존하고 있다면 그 값을 애플리케이션 외부에서 관리하라.

  • page 239. 게으름 때문에 결정을 내리지 않고 설정을 추가하여 사용자에게 미루지 말라.

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 코드를 작성하는 것은 매 순간 선택이 필요한 일이다. 유연한 코드를 작성하는 것과 코드의 효율성 사이에서 늘 고민해야 하는 일. 챕터가 깊어갈수록 내용이 어렵게 다가온다. 그 동안 내가 지나쳤던 수 많은 코드들이 스쳐지나가면서 과연 그 코드들은 최선이었을까, 어떻게 개선할 수 있었을까 하는 물음표가 찍힌다. 아직 그 물음에 대한 해답을 찾진 못했지만, 책을 다 읽을 쯤에는 어렴풋한 답변이나마 가능하지 않을까하는 기대감이 든다.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

오늘 읽은 다른사람의 TIL