개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
클래스는 작아야 한다!
단일책임원칙! SRP
구현에 의존하는 클라이언트 클래스는 위험에 빠진다.
TIL (Today I Learned) 날짜
2022.03.09
오늘 읽은 범위
10장. 클래스
책에서 기억하고 싶은 내용을 써보세요.
정적 공개 상수가 있다면 맨 처음에 나온다. 다음으로 정적 비공개 변수가 나오며, 이어서 비공개 인스턴스 변수가 나온다.
변수 목록 다음에는 공개함수가 나온다. 비공개 함수는 자신을 호출하는 공개 함수 직후에 넣는다.
클래스를 만들 때 첫 번째 규칙은 크기다. 클래스는 작아야한다. 두 번째 규칙도 크기다. 더 작아야한다.
단일책임원칙은 클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한다는 원칙이다.
큰 클래스 몇 개가 아니라 작은 클래스 여럿으로 이뤄진 시스템이 더 바람직하다. 작은 클래스는 각자 맡은 책임이 아니며, 변경할 이유가 하나며, 다른 작은 클래스와 협력해 시스템에 필요한 동작을 수행한다.
길이가 늘어난 이유는 여러가지다. 첫째, 리팩터링한 프로그램은 좀 더 길고 서술적인 변수 이름을 사용한다. 둘째, 리팩터링한 프로그램은 코드에 주석을 추가하는 수단으로 함수선언과 클래스선언을 활용한다. 셋째, 가독성을 높이고자 공백을 추가하고 형식을 맞추었다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
리팩터링의 의미가 뭔지 몰랐는데 알게되었고 (점점 더 좋은 코드로 바꾸는것?) 내 머릿속에서 클래스에 대한 내용을 정리해주는 장이였다.