스트리트 코더

강현석·2023년 9월 11일
0

book-review

목록 보기
9/10

스트리트 코더


앞에 "스트리트"가 붙은 것들 중에서는 스트리트 파이터, 스트리트 우먼 파이터(스우파)등 유명한 것들이 떠오른다.
책 제목을 보고 스트리트 코더란 무엇일까 궁금해서 읽게 되었다.
특히 저자가 개발하면서 겪었던 시행착오들을 보면서 공감을 하게 되었고, 단순히 이론만 옮겨적은 책이 아니여서 좋았다.
책에서 인상이 깊었던 부분을 위주로 정리해보았다.

SOLID 원칙에 대해서

저자는 SOLID 원칙을 아무 확신 없이 그대로 받아들이는 것을 반대한다고 한다.

  • S: 단일 책임 원칙
    • 한 가지 일이 무엇을 의미하는지는 우리가 결정하는 것이기에 약간 모호하다.
    • 어떻게 보면 신적인 클래스(God Class)도 관점에 따라 한 가지 일만 담당한다고 볼 수 있다.
    • "명확한 이름의 원칙"으로 대체하고 싶다.
  • O: 개방-폐쇄 원칙
    • 확장성은 설계 시 정해지는 내용이며, 때로는 바람직하지도 않고 실용적이지도 않고 안전하지 않을 수도 있다.
      • 시간을 낭비하게 할 수도 있다.
    • "확장성을 일종의 기능으로 취급하라"라고 말하고 싶다.
  • L: 리스코프 치환 원칙
  • I: 인터페이스 분리 법칙
  • D: 종속성 역전 원칙
    • 구체적인 구현에 따른 의존성은 강한 결합이 현성되며, 이미 그 효과가 별로 바람직하지 않다는 것을 알고 있다.
    • 그렇다고 모든 종속성에 대한 인터페이스를 만들어야 하는 것은 아니다.
    • 자신의 유연성을 선호하자.

모든 테스트를 작성하려고 하지 마라

파레토 법칙처럼 20%의 테스트 커버리지로 80%의 신뢰성을 얻도록 하자.

profile
볼링을 좋아하는 안드로이드 개발자

0개의 댓글