CleanCode Day10

10 수업

하나) 클래스 시스템

변수 목록

정적 공개 상수

비. 정적 개인 변수

개인 인스턴스 변수

공공 기능

개인 기능 : 자신을 호출하는 공용 함수 바로 뒤에 배치하십시오..

추상화 수준은 순차적으로 내려갑니다.

.

(하나) 캡슐화

변수와 헬퍼 함수는 가능한 비공개로 유지되어야 합니다.

.

2) 수업은 소규모여야 합니다.

.

클래스 이름은 이 클래스의 책임을 설명해야 합니다.

.

클래스 이름이 모호한 경우 클래스에 너무 많은 책임이 있기 때문일 수 있습니다.

.

모호한 단어가 있으면 클래스에 여러 책임이 할당되었다는 증거입니다.

클래스 설명(해당되는 경우)(“만약에”), 그리고(“그리고”), -(아래에)~처럼(“또는”), 하지만(“하지만”)사용하지 않고

25말 안팎에서 가능해야 한다.

(하나) 개인 책임의 원칙: 클래스나 모듈을 변경해야 하는 이유는 단 하나여야 한다는 원칙..

변경 이유를 파악하려고 하면 코드 추상화가 더 쉬워집니다.

.

소규모 클래스가 많은 시스템이 바람직합니다.

.

모든 소규모 학급에는 책임이 있으며, 변경해야 하는 이유, 또 다른 소규모 수업으로

협력하여 시스템에 필요한 조치를 취합니다.

.

(2) 응집도

클래스에는 적은 수의 인스턴스 변수가 있어야 합니다.

.

모든 클래스 메서드는 적어도 하나의 클래스 인스턴스 변수를 사용해야 합니다.

.

일반적으로 메서드가 사용하는 변수가 많을수록 메서드와 클래스가 더 응집력이 있습니다.

.

메서드당 모든 인스턴스 변수를 사용하는 클래스는 응집도가 가장 높습니다.

.

응집력이 높다는 것은 클래스에 속하는 메서드와 변수가 서로 의존하고 논리적 단위로 구성된다는 것을 의미합니다.

묶여있다는 뜻

-‘함수를 더 작게 만들고 매개변수 목록을 더 짧게 만드십시오.

응집력을 높이기 위해 변수와 메서드를 적절히 분리하여 2~3개의 새로운 클래스로 나눕니다.

.

(삼) 응집력은 여러 소규모 클래스에서 유지됩니다.

.

삼) 변경이 쉬운 클래스

깨끗한 시스템은 변경의 위험을 줄이기 위해 클래스를 구성합니다.

.

– OCP(개폐 원칙): 클래스는 확장에 열려 있고 변경에 닫혀 있어야 합니다.

.

새로운 기능을 수정하거나 기존 기능을 변경할 때 최소한의 코드로 시스템 구조를 실습합니다.

바람직한.

이상적인 시스템에서 새로운 기능을 추가하면 시스템이 향상될 뿐 기존 코드는 변경되지 않습니다.

~ 아니다.

(하나) 변화로부터의 고립

테스트할 수 있는 지점까지 시스템의 결합을 줄이면 유연성과 재사용성이 향상됩니다.

.

짝이 맞지 않는다는 소리는 모든 시스템 요소가 다른 요소와 변화로부터 자유롭다는 것을 의미합니다.

절연이 잘 된 것을 의미

시스템 요소가 서로 잘 분리되어 있으면 각 요소를 이해하기가 더 쉽습니다.

.

– DIP(종속 역전 원리): 자세한 구현이 아닌 추상화에 의존해야 합니다.

.