Skip to content

Latest commit

 

History

History
23 lines (19 loc) · 1.63 KB

File metadata and controls

23 lines (19 loc) · 1.63 KB

1장 깨끗한 코드

우리 모두는 자신이 짠 쓰레기 코드를 쳐다보며 나중에 손보겠다고 생각한 경험이 있다. 우리 모두는 대충 짠 프로그램이 돌아간다는 사실에 안도감을 느끼며 그래도 안 돌아가는 프로그램보다 돌아가는 쓰레기가 좋다고 스스로를 위로한 경험이 있다. 다시 돌아와 나중에 정리하겠다고 다짐했었다. 물론 그때 그 시절 우리는 르블랑의 법칙leblanc's Law을 몰랐다. 나중은 결코 오지 않는다.

깨끗한 코드

  • 우아하고 효율적이다.
  • 단순하고 직접적이다.
  • 다른 사람이 읽기 쉽고 고치기 쉽다.
  • 주의 깊게 작성했다.
  • 중복이 없다.
  • 한 가지 기능만 수행한다.
  • 작게 추상화한다.

보이스카우트 규칙

잘 짠 코드가 전부는 아니다. 시간이 지나도 언제나 깨끗하게 유지해야 한다.

캠프장은 처음 왔을 때보다 더 깨끗하게 해놓고 떠나라.

객체 지향 설계의 다섯 가지 원칙

  • SRP(The Single Responsibility Principle): 클래스에는 한 가지, 단 한 가지 변경 이유만 존재해야 한다.
  • OCP(The Open Closed Principle): 클래스는 확장에 열려 있어야 하며 변경에 닫혀 있어야 한다.
  • LSP(The Liskov Substitution Principle): 상속받은 클래스는 기초 클래스를 대체할 수 있어야 한다.
  • DIP(The Dependency Inversion Principle): 추상화에 의존해야 하며, 구체화에 의존하면 안 된다.
  • ISP(The Interface Segregation Principle): 클라이언트에 밀접하게 작게 쪼개진 인터페이스를 유지한다.