DAY 10
오늘 읽은 범위 : 10장, 클래스
책에서 기억하고 싶은 내용을 써보세요
- 클래스를 정의하는 표준 자바 관례에 따르면, 가장 먼저 변수 목록이 나온다. (p.172)
- 캡슐화를 풀어주는 결정은 언제나 최후의 수단이다. (p.172)
- 클래스를 만들 때 첫 번째 규칙은 크기다. 클래스는 작아야 한다. 두 번째 규칙도 크기다. 더 작아야 한다. (p.172)
- 클래스 이름은 해당 클래스 책임을 기술해야 한다. 실제로 작명은 클래스 크기를 줄이는 첫 번째 관문이다. 간결한 이름이 떠오르지 않는다면 필경 클래스 크기가 너무 커서 그렇다. (p.175)
- 클래스 설명은 만일("if"), 그리고 ("and"), -(하)며 ("or"), 하지만 ("but")을 사용하지 않고서 25단어 내외로 가능해야 한다. (p.175)
- 단일 책임 원칙은 클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한다는 원칙이다. (p.175)
- 우리들 대다수는 두뇌 용량에 한계가 있어 '깨끗하고 체계적인 소프트웨어'보다 '돌아가는 소프트웨어'에 초점을 맞춘다. (p.176)
- 규모가 어느 수준에 이르는 시스템은 논리가 많고도 복잡하다. 이런 복잡성을 다루려면 체계적인 정리가 필수다. (p.177)
- 클래스는 인수턴스 변수 수가 작아야 한다. 각 클래스 메서드는 클래스 인스턴스 변수를 하나 이상 사용해야 한다. 메서드가 변수를 더 많이 사용할수록 메서드와 클래스는 응집도가 더 높다. (p.177)
- 응집도를 유지하면 작은 클래스 여럿이 나온다. (p.178)
- 깨끗한 시스템은 클래스를 체계적으로 정리해 변경에 수반하는 위럼을 낮춘다. (p.185)
- 이상적인 시스템이라면 새 기능을 추가할 때 시스템을 확장할 뿐 기존 코드를 변경하지는 않는다. (p.188)
- 결합도가 낮다는 소리는 각 시스템 요소가 다른 요소로부터 그리고 변경으로부터 잘 격리되어 있다는 의미다. (p.190)
오늘 읽은 소감은? 떠오른 생각을 가볍게 적어보세요
- 클린코드는 Java를 기준으로 작성된 코드가 많아 그리고 나의 프로그램 공부가 깊지 않아 많은 단어가 이해가 가지않고, 이로인해 바로바로 와닿는 부분이 없고 여러번 읽으면서 체득해 가야 할 것 같다. 사실 겪어본 언어가 JS 뿐이라 Java의 기준으로 설명할 때 잘 이해가 되지않는다. 그렇다고 내가 JS를 마스터 한 것은 아니기에 연관지어 생각하기도 쉽지 않았다. 물론 지금 세상에 하나의 언어만 배워 살 수는 없기 때문에 Java를 꼭 배워보고 싶은 마음이 든다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요
'Today I Learn' 카테고리의 다른 글
[Python] 챌린지 1일차 (0) | 2024.08.08 |
---|---|
[TIL] "클린코드" 11일차 (0) | 2024.07.12 |
[TIL] "클린코드" 9일차 (2) | 2024.07.05 |
[TIL] "클린코드" 8일차 (1) | 2024.07.03 |
[TIL] "클린코드" 7일차 (1) | 2024.07.01 |