보유/책
클린 코드 ( Clean Code ) - 노마드 코더 ( Nomad Coders ) 챌린지 16-18일
namwhis
2025. 6. 8. 18:43
TIL (Today I Learned)
2025.06.06
오늘 읽은 범위
10장(클래스)
책에서 기억하고 싶은 내용을 써보세요.
*클래스 체계(표준 자바 관례)
변수 목록 | 정적 상수 >> 공개 상수 >> 정적 비공개 변수 >> 비공개 인스턴스 변수 >> (있다면) 공개 변수 |
공개 함수 | |
비공개 함수 | 자신을 호출하는 공개 함수 직후 |
*비공개 상태의 유지를 강구 >> 최후의 수단으로 공개(캡슐화 풀어주기)
*클래스는 작아야 한다.
단일 책임 원칙 ( SRP ) | 클래스나 모듈을 변경할 이유는 단 하나여야한다. |
응집도 | 인스턴스 변수 수가 작고, 메서드와 클래스의 응집도가 낮아야 한다.( 메서드가 변수를 적게 사용 ) |
응집도 낮춤=작은 클래스로 분할 | 낮은 응집도 >> 함수 분리 >> 클래스 분리 |
*변경하기 쉬운 클래스
변경으로부터 격리 | 인터페이스와 추상클래스를 사용해 구현에 미치는 영향을 격리. |
시스템의 결합도를 낮춤 | 유연성과 재사용성 높아짐 |
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.
Manager를 붙인 이름으로 클래스를 만들어 여러가지 처리를 집중시켰었는데, 좋지 않는 방법이었다.
궁금한 내용이 있거나, 잘 이해되지 않은 내용이 있다면 적어보세요
SRP ( Single Responsibility Principle) : 단일 책임 원칙
DIP ( Dependency Inversion Principle ) : 의존성 역전 원칙 : 추상화에 의존하고 구체화에 의존하지 말아야 한다.
세줄 요약
*프로그램이 돌아가면 일이 끝났다고 여기면 안된다. '깨끗하고 체계적인 소프트웨어'라는 다음 관심사로 전환해야한다.
*클래스는 작아야 한다. ( 낮은 응집도 )
*클래스는 변경하기 쉬워야 한다. ( 낮은 결합도 )
반응형