Community

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

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

오늘 TIL 3줄 요약

  • 클래스는 작아야 한다.

  • 클래스는 인스턴스 변수 수가 작아야 한다.

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

TIL (Today I Learned) 날짜

2022. 05. 11

오늘 읽은 범위

10장. 클래스

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

  • 캡슐화 - 변수와 유틸리티 함수는 비공개 상태를 유지할 것이 낫다. 캡슐화를 풀어주는 결정은 언제나 최후의 수단이다. (p.172)

  • 단일 책임 원칙 - 클래스나 모듈을 변경할 이유가 하나뿐이어야 한다는 원칙이다. (p.175)

  • 책임, 즉 변경할 이유를 파악하려 애쓰다 보면 코드를 추상화하기도 쉬워진다. 더 좋은 추상화가 더 쉽게 떠오른다. (p. 176)

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

  • 일반적으로 응집도가 높은 클래스는 가능하지도 바람직하지도 않다. 응집도가 높다는 말은 클래스에 속한 메서드와 변수가 서로 의존하며 논리적인 단위로 묶인다는 의미기 때문이다. (p.177)

  • 클래스 일부에서만 사용되는 비공개 메서드는 코드를 개선할 잠재적인 여지를 시사한다. 하지만 실제로 개선에 뛰어드는 계기는 시스템이 변해서라야 한다. (p.186)

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

요즘 Vuejs로 여러 컴포넌트를 분리해서 파일을 관리하고 있는데 이런 것과 비슷한 맥락이 아닐까 싶은 생각이 들었다.

결국 프로젝트를 관리할 때 클래스가 여러 개로 이루어진 것 처럼 컴포넌트 관리도 여러 개로 나눠서 하나에 한 가지 역할을 부여할 것이 효율적이고 코드를 유지보수하기에도 쉬워질 것이라는 걸 느낀다.

중요한 건 유지보수하기 쉬운 코드를 짜는 것이 이 클린 코드의 핵심이 아닐까 싶다.