Clean Code
[Clean Code] 3장 함수
함수 함수를 안전하고 간결하게 작성하기 SOLID원칙 SRP(단일책임원칙) OCP(개방-폐쇄원칙) LSP(리스코프치환원칙) ISP(인터페이스분리원칙) DIP(의존성역전원칙) SRP 클래스는 하나의 기능만 가진다. OCP 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. 객체지향의 추상화와 다형성을 활용한다. LSP 서브 타입은 언제나 기반 타입으로 교체할 수 있어야 한다. 클래스 상속, 인터페이스 상속을 이용해 확장성을 획득 다형성과 확장성을 극대화하기 위해 인터페이스를 사용하는 것이 더 좋다. 자식 클래스도 부모 클래스의 기능을 구현할 수 있어야 한다. 상속보다는 구현을 많이 이용하라 ISP 사용하지 않는 인터페이스는 구현하지 말아야 한다. 가능한 최소한의 인터페이스만 구현한다. 인터페이스를 뚱뚱하게 ..