보유/책

클린 코드 ( 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 ) : 의존성 역전 원칙 : 추상화에 의존하고 구체화에 의존하지 말아야 한다.

 

세줄 요약

*프로그램이 돌아가면 일이 끝났다고 여기면 안된다. '깨끗하고 체계적인 소프트웨어'라는 다음 관심사로 전환해야한다.

*클래스는 작아야 한다. ( 낮은 응집도 )

*클래스는 변경하기 쉬워야 한다. ( 낮은 결합도 )

 

반응형