《읽을 수 있는 코드를 쓰는 예술》 독서노트--주석
Part 1:
Part 2:
Part 3:
Part 1: 주석이 필요하지 않은 경우
주석을 읽는 것은 실제 코드를 읽는 시간을 차지하고, 모든 주석은 화면의 공간을 차지한다.그렇다면, 그것은 가치가 있는 것이 가장 좋다.
다음은'나쁜 맛'이라는 주석을 던져 놓고 느껴보자.
//The class definition for Account
public Account{
//Construtor
Account();
//set the profit member to a new value
void setProfit(double profit);
//return the profit from this Account
double getProfit();
}
이 '고장난 것' 의 주석에서 알 수 있듯이, 이 주석에 첨부된 정보는 아무런 가치가 없고, 게다가 코드의 양도 KPI를 평가하는 데 사용할 수 없기 때문에 이런 주석을 쓰는 것을 절대 금지한다.
Part 2: 주석이 필요한 경우
좋은 주석은'당신의 생각을 기록하라'만 통해 얻을 수 있다. 바로 당신이 코드를 쓸 때의 중요한 생각들이다.코드를 쓰는 측면에서 보면 다음과 같은 몇 가지 상황에 주석이 필요하다.'감독 평론'은 바로 영화 제작자가 영화에서 자신의 견해를 제시하고 이야기를 통해 이 영화가 어떻게 제작되었는지 이해하는 데 도움을 주는 것이다.마찬가지로 코드에도 주석을 달아 코드에 대한 가치 있는 견해를 기록해야 한다.
다음은 글의 예를 보여 준다.
// , 40%
// /
다른 예:
// 。 。 100%
물론 주석은 왜 코드를 깔끔하게 쓰지 못했는지 설명할 수도 있다. (이것은 코드를 마음대로 쓰도록 격려하는 것이 아니다) 또는 후임자에게 재구성 모자를 쓸 때가 왔다는 것을 일깨워 줄 수도 있다.
//
// ‘ResourceNode’
보람
TODO
미처 처리하지 못한 일
FIXME
알 수 없는 실행 불가 코드
HACK
한 문제에 대해 어쩔 수 없이 채택해야 하는 비교적 거친 해결 방안
XXX
위험해!여기 중요한 문제가 있어요.
예를 들면 다음과 같습니다.
// TODO
NUM_THREADS = 8; // 1 , 50
독자의 입장에서 보면 다음과 같은 몇 가지 상황도 주석이 필요하다.
//Force vector to relinquish its merory
vector().swap(data);
// 0,
def FixBrokenHtml(html): …
// ,
//
//
private String classname="com.mysql.jdbc.Driver";
private String dbConntctedURL = "*******";
private String user = "root";
private String password = "*******";
Part 3: 간단명료한 주석 ###
//Insert the data into the cache, but check if it's too big fist
'it'가 가리키는 것은 도대체 데이터입니까, 아니면 캐치입니까?밑에 거로 바꾸면 훨씬 이해가 돼요.
//Insert the data into the cache, but check if the data too big fist
//Return the number of lines in this file.
int CountLines(String filename);
위의 주석은 정확하지 않다. 왜냐하면 잘못된 뜻이 존재하거나 몇 가지 특별한 상황이 있기 때문이다.
하지만 당신이 쓴 주석이 이렇다면:
//Count how many newline bytes('
') are in the file
int CountLines(String filename);
//Remove the suffix/prefix of 'chars' from the input 'src'
String Strip(String src, String chars)();
위의 주석을 보았는데 문제가 생겼다.chars는 전체적으로 제거할 하위 문자열입니까, 아니면 무질서한 알파벳입니까?src 엔딩에 chars가 여러 개 있으면 어떨까요?분명히 정성들여 고른 예는 질문에 완벽하게 대답할 수 있다.
//…
//Example:Strip("ab", "a") returns "/a/"
String Strip(String src, String chars)();
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.