[TIL] 실용주의 프로그래머 || 5장 구부러지거나 부러지거나

준리·2022년 5월 21일
0
post-thumbnail

오늘 TIL 3줄 요약

결합도 낮은 코드가 바꾸기 쉽다.
직접적으로 아는 것만 다루는 부끄럽쟁이 코드를 계속 유지하라
자신이 하고 있는 걸 하나의 과정으로 서술할 수 없다면, 자기가 뭘 하고 있는지 모르는 것이다.

TIL (Today I Learned) 날짜

2022.05.21(토)

오늘 읽은 범위

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

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

  • 유연함을 유지하는 한 가지 좋은 방법은 물론 가능한 코드를 적게 작성하는 것이다. p182

  • 소프트웨어의 구조는 유연해야한다. 그리고 유연하려면 각기 부품이 다른 부품에 가능한 한 조금만 연결되어야한다. p183

  • 결합의 증상

    • 관계없는 모듈이나 라이브러리 간의 희한한 의존 관계
    • 한 모듈의 '간단한' 수정이 이와 관계없는 모듈을 통해 시스템 전역으로 퍼져 나가거나 시스템의 다른 곳에서 무언가를 깨뜨리는 경우
    • 개발자가 수정하는 부분이 시스템에 어떤 영향을 미칠지 몰라 코드의 수정을 두려워하는 경우
    • 변경 사항에 누가 영향을 받는지 파악하고 있는 사람이 없어서 결국 모든 사람이 참석해야 하는 회의
  • 무언가에 접근할 때 "."을 딱 하나만 쓰려고 노력해 보라. '무엇가에 접근'한다는 건 중간 변수를 사용하는 경우까지 포함해야한다. 점 하나 규칙에는 큰 예외가 하나 있다. 엮는 것들이 절대로 바뀌지 않을 것 같다면 이규칙을 지키지 않아도 된다.

  • 어디에나 이벤트가 있다. 이벤트가 어디서 발생하든 이벤트를 중심으로 공들여 만든 코드는 일직선으로 수행되는 코드보다 더 잘 반응하고 결합도가 더 낮다.

  • 애플리케이션이 출시된 이후 바뀔 수 있는 값에 코드가 의존하고 있다면 그 값을 애플리케이션 외부에서 관리하라. 설정 정보는 서비스 API 뒤에서 관리하는 것을 선호한다. p236

오늘의 책서평

부러지는 것보단 구부러지는 것을 택하라. 유연한 코드를 짜는 방법에 대한 이야기이다. 왜 코드를 리팩토링해야하는지 별개의 컴포넌트를 가져다가 사용하는지에 대한 이유를 얕게라도 알 수 있었다. 결합도를 낮추고 단조롭게 코드를 작성하라. 그리고 설정값을 API를 통해서 서버에 대한 부하를 낮추고 활용도를 높이라는 조언까지. javascript 언어 밖에 몰라서 예제를 다 이해할 순 없었지만, 재미있었다.

profile
트렌디 풀스택 개발자

0개의 댓글