Community

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

← Go back
[TIL] 클린코드 10장 클래스
#clean_code
2년 전
783

오늘 TIL 3줄 요약

  • 클래스는 적은 책임으로 작성해야 한다.

  • 코드가 길어지더라도 클래스를 여러개 나누는게 좋다.

  • 인터페이스와 추상화에 대한 개념을 확실히 알고있다면

    이번 장 내용은 이해하기 더 쉬울겁니다.

TIL (Today I Learned) 날짜

2022. 05.11

오늘 읽은 범위

10장. 클래스

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

  • 클래스를 설계할때도 함수와 마찬가지로 '작게' 작성하는 것이 중요하다. 함수는 행 수로 크기를 측정했다면 클래스는 '적은 책임'으로 작성해야 한다. (p.173)

  • 작명은 클래스 크기를 줄이는 첫 번째 관문이다. (p.175)

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

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

  • 클래스는 인스턴스 변수 수와 응집도가 작아야 한다. (p.177)

  • 대다수 시스템은 지속적인 변경이 가해진다. 무언가 변경될 때마다 시스템이 의도대로 동작하지 않을 위험이 따른다. 깨끗한 시스템은 클래스를 체계적으로 정리해 변경에 수반하는 위험을 낮춘다.

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

  • 이번 장의 주제는 3장 함수의 주제와 일맥상통하는 내용이었습니다. 클래스도 함수와 비슷하게 적은 책임의 원칙으로 작성해야 깨끗한 코드 된다는 사실말입니다. 우리는 클래스를 작성하다 보면 많은 인스턴스 변수와 메소드를 작성할 때가 많았습니다. 이들을 잘게 나누어 클래스의 결합도와 책임을 낮추어서 유연성과 재사용성이 높은 코드를 작성할 수 있도록 코딩할때 항상 참고해야 겠습니다.

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

  • Open-Closed Principle(OCP) : 확장에 개방적이고 수정에 폐쇄적이어야 하는 원칙이다.

  • 우리는 구체적인 클래스는 상세한 구현 코드를 포함하며 추상 클래스는 개념만 포함한다고 배웠다. 상세한 구현에 의존하는 클라이언트 클래스는 구현이 바뀌면 위험에 빠진다. 그래서 우리는 인터페이스와 추상 클래스를 사용해 구현이 미치는 영향을 격리한다.

  • Dependancy Inversion Principle(DIP) : 저수준 모듈이 고수준 모듈에 의존하게 설계하는 원칙.

오늘 읽은 다른사람의 TIL

예전에는 이해되지 않았던 내용이 공부를 해온 지금은 이해가 되는,

성장하고 있는 과정이 공감되었습니다.

장 전체의 내용을 summary하여 간략하고 쉽게 읽을 수 있으며 객체 지향 프로그래밍의 핵심 원리가 추가적으로 적혀있어서 한 번 보시면 유용하실 겁니다.