Community

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

← Go back
TIL-10
by leeq
#clean_code
2 years ago
2,252

오늘 TIL 3줄 요약

  • 클래스는 작아야 한다.

  • 클래스는 응집력이 높아야 한다.

  • 클래스는 추상화에 의존해야 한다.

TIL (Today I Learned) 날짜

2022.03.09

오늘 읽은 범위

10장. 클래스

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

  1. 변수 목록 다음에는 공개 함수가 나온다. 비공개 함수는 자신을 호출하는 공개 함수 직후에 넣는다. 즉, 추상화 단계가 순차적으로 내려간다. - p172

  2. 캡슐화를 풀어주는 결정은 언제나 최후의 수단이다. - p172

  3. 클래스는 작아야 한다. - p172

  4. 클래스가 맡은 책임을 센다. - p173

  5. 간결한 이름이 떠오르지 않는다면 필경 클래스 크기가 너무 커서 그렇다. 클래스 이름이 모호하다면 필경 클래스 책임이 너무 많아서다. - p175

  6. 문제는 우리들 대다수가 프로그램이 돌아가면 일이 끝났다고 여기는 데 있다. - p176

  7. 새 기능을 추가하거나 기존 기능을 변경할 때 건드릴 코드가 최소인 시스템 구조가 바람직하다. - p188

  8. 상세한 구현에 의존하는 클라이언트 클래스는 구현이 바뀌면 위험에 빠진다. - p189

  9. 테스트가 가능할 정도로 시스템의 결합도를 낮추면 유연성과 재사용성도 더욱 높아진다. - p190

  10. 본질적으로 DIP는 클래스가 상세한 구현이 아니라 추상화에 의존해야 한다는 원칙이다. - p190

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

  • 클래스도 함수와 마찬가지이다. 클래스는 가능한 적은 책임을 지녀야 한다. 함수가 한 가지 기능만을 수행해야 하듯이.

  • 상속을 적극 활용하여 클래스를 잘게 쪼개자. 새로운 기능을 추가해야 한다면 새로운 클래스를 상속해주면 간편하다.

  • 클래스의 응집도를 높이고 시스템의 결합도를 낮추자. 예를 들어 외부 인터페이스와의 경계를 분리하면 테스트도 용이해진다.

오늘 읽은 다른사람의 TIL

charminggw님의 TIL

내용과 관련 개념을 유기적으로 정리하여 작성하셔서 이해에 큰 도움이 되었다.