본문 바로가기
DEVELOPMENT/BOOK

실용주의 프로그래머 TIL(22.03.21)

by Z@__ 2022. 3. 21.
반응형

DAY3 (2022. 03. 21)

 

오늘의 책 읽기

  • 2장.실용주의 접근법 

 

오늘의 TIL

ETC (Easier to Change)
  • 잘 설계된 코드는 ETC하고, 잘 설계된 코드는 결합도가 줄어 단일 책임 원칙(Single responsibilty principle)에 유용
  • 네이밍을 잘해야 코드가 읽기 쉬워지고 수정에 용이
  • ETC는 규칙이 아니라 가치(Value)로 결정을 내리게 도움을 줌.
  • 방금 한 일이 전체 시스템을 바꾸기 쉽게 만들었는지를 고민해야 한다. 저장할 때마다, 테스트를 쓸 때도, 버그를 수정할 때도.

 

DRY (Don't Repeat Yourself)
  • DRY하게 코드를 짜야한다는 것은 자주 들어왔던 이야기이다.
  • 단순하게 반복을 지양해야 하는 것이 아니라, 구현 내용상의 무의미한 반복을 지양해야한다.
const validate_age = (value) => {
	validate_type(value)
    validate_min_integer(value)
})
const validate_quantity = (value) => {
	validate_type(value)
    validate_min_integer(value)
})
더보기

위 코드는 DRY를 위반한 것이라고 생각할 수 있지만, 두 함수는 각각 서로 다른 것을 검증하고 있다.

우연히 규칙이 같은 것이지, 이것은 중복이 아니다

 

 

직교성의 장점 (관련 없는 것들 간에 서로 영향이 없도록 하라)
  • 컴포넌트들이 isolate되어, 응집도가 낮은 상태로 유지되어야 한다.
  • 이를 통해 생산성이 향상되고, 리스크가 감소된다.
  • Shy코드를 작성하라. (불필요한 것은 다른 모듈에 보여주지 않으며, 다른 모듈에 의존하지 않는 코드)
  • 자신이 작성하는 코드를 항상 비판적으로 바라보는 습관을 길러라(refactoring)
반응형

댓글