Community

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

← Go back
TIL 10장. 클래스
#clean_code
2년 전
682

오늘 TIL 3줄 요약

  • 클래스는 작아야한다.

  • 단일 책임을 원칙으로한다.

  • 응집도를 유지하고 결합도를 최소화하라.

TIL (Today I Learned) 날짜

2022. 03. 10

오늘 읽은 범위

10장. 클래스

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

  • 클래스를 만들때 첫번째 규칙은 크기다. 클래스는 작아야한다. 두번째 규칙도 크기다. 더 작아야한다. (p.172)

  • SRP는 객체지향 설계에서 더욱 중요한 개념이다. 또한이해하고 지키기 수월한 개념이기도하다. 하지만 SRP는 클래스 설계자가 가장 무시하는 규칙 중 하나다. (p.176)

  • 큰 클래스 몇개가 아니라 작은 클래스 여럿으로 이루어진 시스템이 더 바람직하다. (p.177)

  • 깨끗한 시스템은 클래스를 체계적으로 정리해 변경에 수반하는 위험을 낮춘다. ( p.185)

  • 시스템의 결합도를 낮추면 유연성재사용성이 더욱 높아진다.

    • 결합도의 최소화는 클래스의 설계원칙인 DIP를 따르는 class가 나온다.

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

  • 이전 TIL에서도 기록한바 있지만 클린코드를 정말 읽어야겠다는 계기는 프로젝트 경험에서 스스로가 느꼈던 불안감과 불확실성에서 비롯된 동기 이다. 이번에도 마찬가지지만 옛날 코드, 어떤이의 코드를 보면서 (물론 나 또한 그랬을 것 같다.) "코드를 쪼개고 싶다"는 욕구가 강하게 들었던적이 여럿있었다. 해당 부분들은 너무 많은 내용을 수반하고 있었고, "왜 이부분은 따로 분리하지 않았는가?", "공통코드로 분리하였다면 재사용의 가능성이 높았을텐데.."와 같은 생각들이 프로젝트 기간동안 따라다녔다. 10장에서 말하는 바와 밀접함이 높았기에 이해가 빨랐다.

  • 이번 장에서의 경우 몇가지 원칙들에대한 사전적 혹의 정의에대해서 어려움이 조금 있었지만 원칙과 정의에 관련된 부분이기에 정의된 지식을 얻어갈 수 있었다.

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

  • DIP (Dependency Inversion Principle) : 클래스가 상세한 구현이 아니라 추상화에 의존해야한다는 원칙

오늘 읽은 다른사람의 TIL