#002 - 깨끗한 코드 - 이름

이름



당신의 의도를 밝히십시오



Intent : Nawaya in Arabic



좋은 이름을 가진 변수는 코드를 읽는 데 도움이 됩니다.

int d; // elapsed time in days


예전에는 문서가 좋았지만 지금은 변수 이름을 자신의 주석으로 지정하는 것이 좋습니다.

int elapsedTimeInDays;


코드가 다음과 같은 경우

int mpd = (n/2)+3


이렇게 쓰는게 낫다

int middle = n/2;
int days = 3;
int middlePlusDays = middle + days;


이것이 우리에게 더 많은 CPU 주기를 요구할 것이라는 오래된 사고방식이 있습니다. 그러나 우리는 이제 중요한 것이 코드 유지 관리라는 사실을 알게 된 새로운 세상에 살고 있습니다.

const int ID_NONE = 0; // constant ID for NONE
const int ID_FIRST = 0;// constant ID for FIRST
const int ID_SECOND = 0;// constant ID for SECOND
const int ID_BOTH = 0;// constant ID for BOTH


변수 이름과 주석을 보세요. 이 코드에서 무엇을 이해하셨나요?

실제로 이름이나 댓글은 독자인 나에게 아무 의미가 없습니다.

당신은 나에게 코드 읽기가 부끄러운 일이라고 말할 것입니다. 나는 바쁘고 게으르다. 당신의 나쁜 코드를 쓸 시간이 없습니다.

잘못된 정보를 피하십시오





int tuesday = 1;


이 표현을 보세요 무슨 뜻이라고 생각하세요? 내가 필요한 것은 오늘이 화요일인지 확인하는 것입니다.

이렇게 쓰면 좋지않나요?

int isTuesday = 1;


이것은 잘못된 정보입니다. 이것이 부울이라는 것을 이해하지 못할 수 있는 변수를 제공합니다.

발음 가능한 이름




string BMW;


이걸 어떻게 발음해야 하나요?

이것을 어떻게 이해해야 할까요? bmw 자동차를 의미합니까? boomwww처럼 읽어야 할까요?

이게 더 좋지 않아?

string BestMatchingWord;


이름은 타인과의 소통을 위한 도구이므로 전달하고자 하는 내용을 잘 표현해야 합니다.

인코딩을 피하십시오





그것들은 헝가리 표기법입니다. 예전에는 변수의 유형이 무엇인지 알기 위해 유용했습니다. 그러나 이제 우리의 IDE는 변수 위에 마우스를 가져가면 변수의 유형이 무엇인지 알 수 있으며 컴파일러, 단위 테스트는 모든 유형 오류로부터 우리를 보호합니다.

품사



함수는 getTotal() , divide()와 같은 메서드여야 합니다.

구조체는 다음과 같은 형용사여야 합니다struct COLORS = {...}.

부울은 isUpper() , isLower()와 같이 설명적이어야 합니다.

귀하의 calsses는 class Account가 아닌 class DATA , class INFO , class MANAGER와 같아야합니다.

범위 길이 규칙





for (TestResult tr : configIssues) {
    Element element = createElement(d , tr);
    rootElement.appendChild(element);
}

tr는 선언된 국자가 작고 그의 선언 직후에 사용되었기 때문에 훌륭한 이름입니다.

그러나 좋지 않은 것은 d 동일한 방어 범위에서 선언되지 않았다는 것입니다.
d는 Document 클래스의 인스턴스이므로 doc 또는 document라고 부르는 것이 좋습니다.

따라서 작은 범위에서는 짧은 이름이 더 좋지만 큰 범위에서는 더 큰 이름이 더 좋으므로 크기가 중요합니다 :)

함수의 경우 클래스 외부의 다른 많은 위치에서 호출될 공용 함수는 작은 이름을 가져야 합니다. 왜요? 클래스에 이름이 있음 예File.Open() Calline 상상File.openFileAndThrowIfNotFound()
비공개 함수는 로컬에서 호출되기 때문에 길어야 합니다.

좋은 웹페이지 즐겨찾기