CleanCode Day10

10 수업

하나) 클래스 시스템

변수 목록

정적 공개 상수

비. 정적 개인 변수

개인 인스턴스 변수

공공 기능

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

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

(하나) 캡슐화

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

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

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

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

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

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

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

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

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

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

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

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

(2) 응집도

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

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

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

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

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

묶여있다는 뜻

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

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

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

삼) 변경이 쉬운 클래스

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

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

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

바람직한.

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

~ 아니다.

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

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

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

절연이 잘 된 것을 의미

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

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