Community

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

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

오늘 TIL 3줄 요약

  • 변수와 유틸리티 함수는 가능한 공개하지 않는 편이 낫지만 반드시 숨겨야 한다

    는 법칙도 없다.

  • 가독성을 높이고자 공백을 추가하고 형식을 맞추었다.

  • OCP란 클래스는 확장에 개방적이고 수정에 폐쇄적이어야

    한다는 원칙이다.

TIL (Today I Learned) 날짜

2022. 05. 12

오늘 읽은 범위

10장. 클래스

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

  • 변수와 유틸리티 함수는 가능한 공개하지 않는 편이 낫지만 반드시 숨겨야 한다

    는 법칙도 없다. (p.172)

  • 단일 책임 원칙Single Responsibility Principle, SRP2은 클래스나 모듈을 변경할 이유가

    하나, 단 하나뿐이어야 한다는 원칙이다. (p.175)

  • 소프트웨어를 돌아가게 만드는 활동과 소프트웨어를 깨끗하게 만드는 활동

    은 완전히 별개다. (p.176)

  • 큰 클래스 몇 개가 아니라 작은 클래스

    여럿으로 이뤄진 시스템이 더 바람직하다. 작은 클래스는 각자 맡은 책임이 하

    나며, 변경할 이유가 하나며, 다른 작은 클래스와 협력해 시스템에 필요한 동작

    을 수행한다. (p.176)

  • 첫째, 리팩터링한 프로그램은 좀 더 길고 서술적인 변수 이름을 사용한다. 둘째,

    리팩터링한 프로그램은 코드에 주석을 추가하는 수단으로 함수 선언과 클래스

    선언을 활용한다. 셋째, 가독성을 높이고자 공백을 추가하고 형식을 맞추었다.

    (p.185)

  • update 문을 추가할 때 기존 클래스를 변경할 필요가 전혀 없다는 사실 역시

    중요하다! update 문을 만드는 논리는 Sql 클래스에서 새 클래스 UpdateSql을

    상속받아 거기에 넣으면 그만이다. update 문을 지원해도 다른 코드가 망가질

    염려는 전혀 없다. (p.188)


  • OCP란 클래스는 확장에 개방적이고 수정에 폐쇄적이어야

    한다는 원칙이다. (p.188)

  • 시스템 요소가 서로 잘 격

    리되어 있으면 각 요소를 이해하기도 더 쉬워진다. (p.190)


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

  • 클래스를 작게 한다는 의미가 처음에는 와닿지 않았지만 예시문들을 보면서 조금 이해한듯 하다. 결국 클래스 단위의 코드에서 확장에 개방적이고 수정에 폐쇄적으로 하려면 클래스를 작게 만들어야 관리가 쉽고 클린 코드의 길로 갈 수 있다는 것이 핵심인 것 같다.


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

오늘 읽은 다른사람의 TIL