코드 주석에서 마침표 / 정지 점에 대해 어떻게 생각하십니까? [닫은]


27

SO Tavern 에서이 질문을 보았 으므로 여기에 질문을 게시하고 있습니다. 나는 그것이 흥미로운 질문이라고 생각했다. (물론 SO에 속하지는 않지만 여기서는 괜찮습니다.)

코드 주석에 마침표를 추가합니까 (또는 OP가 쓴 "완전 중지")?

관련성을 유지하려면 왜 그렇 습니까?


2
내가하는 시간과 때로는하지 않는 시간. 주석과 읽기 쉬운 내용에 따라 다릅니다.
Tim

답변:


29

문장 전체는 문장을 끝내기위한 것이지만, 주석이 코드로 둘러싸인 문장 하나만으로 구성되어 있다면, 내 의견으로는 완전한 장소가 필요하지 않습니다. 때로는 첫 글자를 대문자로 표기하지 않을 수도 있습니다. 반면에 여러 줄로 된 주석은 완전한 문장 부호가 필요합니다.

// This function returns an average of two integers. Note that it may
// return an irrelevant result if the sum of a and b exceeds the int
// boundaries.

int avg(int a, int b)   // make it static maybe?
{
    // A better algorithm is needed that never overflows
    return (a + b) / 2; 
}

4
+1. 이것은 내 주석 스타일과 매우 흡사하여 잘못된 deja vu를주었습니다. :)
Bobby Tables

26
아니오, 전체 정지는 문장의 끝을 표시하기위한 것입니다. 하나 또는 여러 개가 있는지 여부는 관련이 없습니다.
Rook

2
<joke> int 경계를 초과하는 것을 확인하는 것이 낫지 않습니까? </ joke>
Dan Rosenstark

2
@Yar : 평균은 항상 a와 b 사이이며, 정의상 항상 경계 내에 있습니다. ;)
mojuba

8
내 모든 문자열은 null로 종료되므로 적절한 주석은 항상 '\ 0'으로 끝나야합니다. 코드를보고있는 다음 사람이 마음의 끝을지나 읽지 않게 하시겠습니까?
CodexArcanum

26

예, 주석은 영어로되어 있고 적절한 영어는 문장 부호를 사용합니다.


2
문자 메시지는 어때요?
Moshe

4
@Moshe, 문자 메시지는 영어를 거의 사용하지 않습니다.
도미니크 맥도넬

8
적절한 영어는 아니지만 여전히 구두점을 사용합니다. 문장 부호는 독자가 저자의 의도와 정확히 일치하도록 안내하기위한 것입니다. 이것은 모든 언어, IMHO에 적용됩니다.
cjmUK

@cjmUK, Lol, 그렇습니다. 저도 그렇게 생각합니다. 저는 Moshe가이 단어를 구두점으로 사용하지 않는 이유라고 생각했습니다. 저는 정기적으로 "벽에 저를 몰아 넣는 wd b gr8 cue"와 같은 메시지를받습니다.
Dominique McDonnell

나는 모든 방법으로 im wiv umentment 메신저
cjmUK

17

코드 주석에 마침표를 추가합니까 (또는 OP가 쓴 "완전 중지")?

관련성을 유지하기 위해 왜?

같은 이유로 나는 "정상적인"텍스트를 쓸 때 그것들을 추가합니다 – 그것들은 글로 쓰는 언어의 일부이며 그들에 특별한 것은 없어야합니다. 한 문장 (한 줄)의 주석과 전체 단락을 쓸 때도 동일하게 사용합니다.

소스 코드는 일반 텍스트가 아니므로 다른 규칙을 사용합니다. 간단한 ;-)


내 친구는 이메일에 단어를 대문자로 표시하지 않습니다. 왜냐하면 인터넷에 있기 때문입니다. 나에게 SMS와 같은 기술적 한계에 맞게 글을 쓰면 괜찮지 만 이메일이나 소스 코드는 서신의 텍스트와 어떻게 다릅니 까?
LennyProgrammers

1
@ Lenny222-여기에 무엇을 요구하는지 잘 모르겠습니다. 이메일은 일반 텍스트처럼 작성해야합니다. 당신이 말하는대로 편지를 쓰는 것처럼 말입니다. 그들이 실제로 어떻게 작성되는지 (그리고 SMS, 오 소년, SMS에서 시작하지 마십시오 :) 소스 코드는 자체 구문 규칙이 있기 때문에 일반 텍스트와 동일한 규칙을 정복하지 않습니다.
Rook

2
나에게 소스 코드 주석은 사람이 읽을 수 있도록되어 있습니다. 일부 정보가 별도의 사양 문서에 있거나 소스 코드 주석에 포함되어 있는지에 따라 차이가 발생하는 이유는 무엇입니까?
LennyProgrammers

@ Lenny222-뭔가가 나에게 일어난 것이므로 우리 사이에 오해가 없습니다. 우리는 이제 소스 코드에 대해 이야기하고 있습니까? 그것이 두 번째 경우라면, 나는 당신을 오해했기 때문에 사과합니다. 이 경우 일반 텍스트 (주석의 경우)와 동일한 규칙이 적용됩니다. 실제 소스 코드 (컴파일러 / 인터프리터가 읽는 코드)에서 동일한 규칙을 따르는 방법을 알 수 없습니다.
Rook

1
그렇습니다, 나는 우리가 모르는 사이에 서로 동의한다고 생각합니다. ;)
LennyProgrammers

9

의견을 쓰면 영어로 작성되기를 바랍니다. 이 경우에는 적절하게 문장 부호를 사용해야합니다. 그렇지 않으면 게으르다.


1
마침표는 문장의 끝입니다. 주석은 반드시 완전한 문장 일 필요는 없습니다.
John B. Lambe

일반적으로 주석은 문장이어야합니다. 그렇지 않다면 왜 그런지 묻지 말아야합니다. 귀하의 의견이 너무 짧아서 문장이 아닌 경우, 명백하고 불필요합니까?
quick_now

5

전체 문장 (또는 그 이상)을 쓰면 그렇습니다. 그렇지 않다면 때때로 아니요, 그러나 여전히 그렇습니다.

나는 또한 때때로 미쳐서 느낌표, 물음표 등을 사용합니다.;)

왜 그런지는 부분적으로 내가 그렇게 특별하기 때문이며 부분적으로 적절한 구두점이 많은 명확성을 더할 수 있다는 것을 알기 때문입니다.


물음표를 사용하는 경우 자신의 코드를 이해하고 있습니까?
Moshe

@Moshe : 내 코드를 아직 완전히 이해하지 못했을 때 일반적으로 TODO에 있습니다.
Adam Lear

2
@Moshe-댓글에 왜 질문이 포함되어 있지 않습니까? 질문은 수사적 일 수 있습니다. 사실, 나는 종종 우리? 내 의견으로는-논리에 대한 건조한 설명보다는 조건부 코드를 설명 할 때 종종 논리를 질문으로 설명하는 것이 더 명확합니다. 예 : "자격 기준을 충족 했습니까? 아니요 인 경우 사용자에게 경고를 표시하십시오."
cjmUK

1
대규모 프로젝트 및 많은 공동 작업자와 작업 할 때 종종 이러한 질문에 대한 의견이 가장 중요하다는 것을 알게됩니다.
LennyProgrammers

3

다른 답변과 그 인기로 인해 더 긴 설명에서 전체 정지가 잘 인식되고 있으며 한 줄짜리에서는 피할 수 있습니다.

관련된 또 다른 점은 느낌표, 특히 배수 를 피하는 것 입니다. 예:

    // Though loop is labor-intensive, performance is fine with with 95K cases!!!

    // This code really sucks!

반면에 물음표는 때때로 매우 유용합니다.

    // TODO: What does Crojpler.bway() actually do?

1

따라 다릅니다. 코드 블록의 기능을 설명하는 크고 적절한 단락을 작성하면 다른 적절한 쓰기와 마찬가지로 올바르게 구두점을 만듭니다. OTOH, 한 줄의 코드에 주석을 달면 그렇지 않습니다.

왜? -적절한 글을 사용하여 이메일을 쓰는 이유와 비슷하지만 SMS 메시지에 짧은 문장을 사용할 수 있습니다. 어떤 경우에는 적절한 텍스트 블록을 작성하기 위해 앉아 있습니다. 따라서 자동으로 "적절히 수행"하는 반면, 다른 경우에는 요점을 파악하는 간단한 참고 사항입니다.

내 코드의 실제 예 :

빠른 메모 설명 :

// check for vk_enter

"적절한"방법 문서 :

// This method sets up a workspace tab with the given name. Each MDI window has a parent
// workspace specified when it's saved. The code which loads each MDI window then point it to
// the correct workspace.

.NET 개발자? ;-)
Moshe 2011

@Moshe : 실제로 자바. 이것은 기본적으로 브라우저에서 실행되는 것을 제외하고는 데스크톱 스윙 앱과 같이 매우 크고 복잡한 애플릿의 코드입니다. :)
Bobby Tables

비록 MDI는 .NET 용어입니다.
Moshe

@Moshe : 아냐, 그것은 일반적이다 ( en.wikipedia.org/wiki/Multiple_document_interface ).
Bobby Tables

1

예, 이런 식으로 좋은 코딩 규칙을 만들고 코드를 검토하는 제 3 자에게 깔끔한 읽을 수있는 코드를 만듭니다.


1
두 번째 사람은 어떻습니까?
daviewales

0

나는 것이다 항상 제대로 활용 및 구두점 만들 때 XML 주석을 내가 볼 수 기대 인텔리 우리에서 생성 된 문서 . 이것들은 훨씬 공식적인 구성이므로 그대로 취급해야합니다.

그러나 코드 블록 본문에 표시된 주석은 가능한 한 명확해야합니다. 그들이 그것을 달성하는 방법은 프로그래머에게 달려 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.