Community

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

← Go back
[TIL] Assignment #14 클래스
#clean_code
2년 전
538

오늘 TIL 3줄 요약

<예시>

  • 좋은 코드는 좋은 소설처럼

  • 깨끗한 코드는 주의 깊게 작성한 코드다

  • 독자를 생각하며 코드를 쓰자

</예시>

  • 클래스는 작게

  • 클래스는 하나의 책임만 갖도록 하자

  • 변경이 생기더라도 기존 함수에 영향이 없도록 하자

TIL (Today I Learned) 날짜

2022.03.09

오늘 읽은 범위

10장. 클래스

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

  • 캡슐화를 풀어주는 결정은 언제나 최후의 수단이다. (p.172)

  • 클래스 이름은 해당 클래스 책임을 기술해야 한다. (p.175)

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

  • 책임, 즉 변경할 이유를 파악하려 애쓰다 보면 코드를 추상화하기도 쉬워진다. (p.176)

  • SRP(단일 책임 원칙)는 객체 지향 설계에서 더욱 중요한 개념이다. (p.176)

  • 클래스는 인스턴스 변수 수가 적어야 한다. (p.177)

  • 첫째, 리팩터링한 프로그램은 좀 더 길고 서술적인 변수 이름을 사용한다. 둘째, 리팩터링한 프로그램은 코드에 주석을 추가하는 수단으로 함수 선언과 클래스 선언을 활용한다. 셋째, 가독성을 높이고자 공백을 추가하고 형식을 맞추었다. (p.185)

  • OCP란 클래스는 화갖에 개방적이고 수저에 폐쇄적이어야 한다는 원칙이다. (p.188)

  • 인터페이스와 추상 클래스를 사용해 구현이 미치는 영향을 격리한다. (p.189)

  • 결합도를 최소로 줄이면 자연스럽게 또 다른 클래스 설계 원칙인 DIP를 따르는 클래스가 나온다. 본질적으로 DIP는 클래스가 상세한 구현이 아니라 추상화에 의존해야 한다는 원칙이다. (p.190)

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

리액트로 개발을 하다보니 클래스를 쓰는 일이 거의 없어 다루는 일이 거의 없지만, 구현 원칙을 접목 시킬 수 있다고 생각이 들었다. 단순 클래스 뿐만 아니라 함수에서도 SRP, OCP, DIP를 적용하는 연습이 필요하다고 생각이 들었다.