노개북(노마드코더 Challenges)-클린코드 DAY10

mingki·2022년 5월 11일
0

10장.클래스

❤️ 클래스 체계

  • 클래스는 변수목록 -> 공개함수 -> 비공개함수(자신을 호출하는 공개함수 직후) 추상화 단계가 순차적으로 내려간다.
  • 클래스는 작아야 한다
  • 클래스 이름은 해당 클래스 책임을 기술해야 한다
  • 단일책임원칙 : 클래스는 변경할 이유가 하나여야 한다
  • 응집도 : 클래스 인스턴스 변수 수가 작아야 한다
  • 큰 함수를 작은 함수 여럿으로 쪼개다 보면 작은 클래스 여럿으로 쪼개고, 프로그램에 점점 더 체계가 잡히고 구조가 투명해진다
  • OCP : 클래스는 확장에 개방적이고 수정에 폐쇄적이어야 한다
    -> 이상적인 시스템이라면 새 기능을 추가할 때 시스템을 확장 할 뿐 기존 코드를 변경하지 않는다
  • DIP : 클래스가 상세한 구현이 아니라 추상화에 이존해야 한다

‼️ 나의 생각

이론적으로 OCP,DIP,응집도,결합도 의 중요성은 알고 있었지만 실제 코딩할 때엔 전혀 생각하지 못했다. 책에 나와있는 예제 코드를 보니 내가 작성한 코드에서 수정하면 좋을것 같은 부분이 떠올랐다.
이미 코드를 작성한지 시간이 꽤 흘러서 모두 수정하기엔 역부족이지만 할 수 있는 부분은 변경해 봐야겠다. 다음프로젝트를 시작할때엔 시작할때 책에서 배운 것들을 최대한 적용해 볼 수 있도록 해봐야겠다.

profile
비전공초보개발자

0개의 댓글