Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
10장 클래스
#clean_code
2년 전
1,048

오늘 TIL 3줄 요약

  • 클래스는 코드를 변경하는 게 아니라 확장을 할 수 있도록 구성해야 한다.

  • 길이가 큰 클래스보다는 각 역할을 하는 작은, 단순한 클래스로 쪼개는 것이 더 좋은 방법이다.

  • 결합도가 낮아야 한다. 즉, 시스템 요소가 서로 잘 격리되어 있어야 이해가 쉽다.

TIL (Today I Learned) 날짜

2022.05.11

오늘 읽은 범위

10장. 클래스

책에서 기억하고 싶은 내용을 써보세요.

  • 클래스 이름은 해당 클래스 책임을 기술해야 한다. 간결한 이름이 떠오르지 않는다면 필경 클래스 크기가 너무 커서 그렇다.

  • 또한 클래스 설명은 만일(“if”), 그리고(“and”), -(하)며(“or”), 하지만(“but”)을 사용하지 않고서 25단어 내외로 가능해야 한다.

  • 단일 책임 원칙Single Responsibility Principle, SRP2은 클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한다는 원칙이다.

  • “도구 상자를 어떻게 관리하고 싶은 가? 작은 서랍을 많이 두고 기능과 이름이 명확한 컴포넌트를 나눠 넣고 싶은가? 아니면 큰 서랍 몇 개를 두고 모두를 던져 넣고 싶은가?”

  • 이상적인 시스템이라면 새 기능을 추가할 때 시스템을 확장 할 뿐 기존 코드를 변경하지는 않는다.

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 클래스를 어떻게 하면 확장성있게 구성할 것인지 사실 나는 아직 설계의 경험이 적어 이런 부분이 어렵게 느껴지는 것 같다. 이미 구현된 시스템의 구조를 보고 항상 감탄했었던 것 같다.

  • 단순하고 명료하면서 단일의 책임을 지는 클래스로 구성하는 것을 잘 기억하면서 작은 부분부터 설계를 시도해보면서 연습해봐야 할 것 같다.

  • 함수, 클래스 모두 그 역할을 하는 이름으로 지어졌는지 코드 내용이 이름과 일치한 지 항상 이 기본적인 원칙이 가장 중요한 것 같다.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.