“I”,“We”또는 코드 설명서 모두


41

코드 유형 (C ++) 문서에 도움이되는 의견을 작성하는 것이 좋습니다.

The reason we are doing this is...

"I"대신 "we"를 사용하는 이유는 "we"가 선호되는 많은 학술 작문을하기 때문입니다.

여기 질문이 있습니다. 문서화 코드에서 다른 것을 선호하는 좋은 이유가 있습니까?

  1. "우리"를 사용하십시오 : 우리가 이것을하는 이유는 ...
  2. "I"사용 : 이 작업을 수행하는 이유는 ...
  3. 내 이름을 사용하십시오 . 이유 [my name]는 ...
  4. 수동적 인 목소리 : 이것이 이루어진 이유는 ...
  5. 둘 다 : 이 때문에 ...

나는 그런 식으로 쓰는 데 익숙하기 때문에 # 1을 선택하지만, 문서는 작가를위한 것이 아니며 독자를위한 것이므로 개발자 이름을 추가하는 것이 도움이되는지 아니면 그것이 필요한 또 다른 것을 추가하는지 궁금합니다. 코드를 유지할 때 변경하십시오.


나는 그것이 개인적 취향에 달려 있다고 생각합니다. 하나가 다른 것보다 더 분명한 이유는 없습니다.
ConditionRacer

6
어째서 # 5 : "인간의 사건이있을 때 ...";)
waxwing

8
"4 점과 7 초 전에 우리 선조들은 foo가 최소한의 힘으로 NULL을 극복해야한다는 것을 알게되었습니다"
Philip


2
왜 말하지 This code was written like this because...않습니까? (Passive voice)
Alvin Wong

답변:


77

나는 갈 것이다 :

# 6. 선언적 : ...

"각 Foo에 Bar가 있어야하기 때문에"이 아니라 "Foo에 Bar가 있어야합니다"라고 말합니다. 의견을 수동적 인 의견이 아닌 이유에 대한 적극적인 진술로 만드십시오. 그것은 일반적으로 전반적으로 더 나은 문체, 잘 맞는 (코드의 본성 않는 무언가를)하고 the reason this was done문구는 어떠한 정보를 추가하지 않습니다. 또한 발생한 문제를 정확하게 피할 수 있습니다.


왜 그렇게하겠습니까? 설명이 없으면이 답변은 백업 지침 과 다소 상충되는 단순한 의견처럼 보입니다 . '... 전문가이기 때문에 다른 의견으로 백업 된 한 의견은 나쁘지 않습니다. 또는 "내가 그렇게 말했기 때문에"또는 "그냥"때문입니다. 위와 같이 귀하의 특정 경험을 사용하여 귀하의 의견을 뒷받침하거나 귀하의 주장을 뒷받침하는 증거를 제공하는 웹이나 다른 곳에서 수행 한 조사를 지적하십시오 ... '
gnat

15
@gnat "이것이 이루어진 이유"는 설명에 아무것도 추가하지 않습니다. 의견은 요점을 알 수있는 충분한 텍스트를 포함해야합니다. 좋은 점, 서문 및 기타 필러 텍스트는 사용하지 마십시오.
David Harkness

@gnat-귀하의 의견을 보았을 때 실제로 추가를 완료했습니다.
Bobson

1
실제로 "이것이 이루어진 이유"는 아무 것도 추가하지 않기 때문에 제 예제는 너무 단순하다고 생각합니다. 그러나 까다로운 상황에서 약간의 설명이 필요한 경우가 있으며,이 경우이 의견에서 "I"를 여러 번 사용한 것처럼 "우리"또는 "I"를 사용하는 것이 더 자연 스럽다는 것을 알게되었습니다. 그러나 나는 당신의 대답이 정신적으로 명확하다고 생각합니다. "선언적"은 암시합니다.
Alan Turing

7
대부분의 경우 //와 같이 읽습니다 because.
Ilmo Euro

23

나는 어느 쪽도 선호하지 않으며 실제로 그 소개 문구를 완전히 없애고 요점에 도달합니다. 또한 주석이 코드와 동기화되어 있는지 알 수있는 방법이 없으므로 "this"라고 말하지 마십시오. 다시 말해,

// The reason this was done is to prevent null pointer exceptions later on.

내가 말할 것:

// Frobnicate the widget first so foo can never be null.

댓글을 추가한다는 사실은 이유를 명시하고 있음을 나타내므로 이유를 설명하는 사람들에게 중복해서 말할 필요가 없습니다. 이유를 가능한 한 구체적으로 지정하면 나중에 해당 코드를 유지하는 방법을 가능한 한 명확하게 알 수 있습니다.


4

C # (및 다른 언어의 대부분의 설명서 도구)에서는 설명서와 인라인 주석간에 차이가 있습니다. 내 개인적인 견해는 Bobson 과 다른 사람들이 클래스 나 회원의 문서에서 제안하는 것처럼 공식적이고 선언적인 스타일의 주석을 항상 사용해야한다는 것입니다. 그러나 코드 내에서 덜 공식적인 것은 잘못이 아닙니다. 사실, 때로는 비공식적 인 의견이 왜 공식적인 영어로 전체 설명보다 무언가가 왜 돈이되는지를 설명하는 데 효과적입니다.

여기 요점을 보여주는 샘플이 있습니다.

/// <summary>
/// Takes data from the remote client and stores it in the database.
/// </summary>
/// <param name="data">The data to store.</param>
public void StoreData(ComplexObject data)
{
    // Don't take candy from strangers
    ComplexObject safeData = SanitizeData(data);
    ...
}

4
참고 : SanitizeData를 반환해야합니다 SafeComplexObject. ;)
Jon Purdy

나는 동의하지만, 특히 다른 언어 배경을 가진 개발자가있는 경우에는 은유가 아닌 문자 그대로의 주석을 선호합니다.
John B. Lambe

2

고려해야 할 또 다른 아이디어는 설명 주석을 작성하는 대신 코드가 작동하는 방식을 보여주는 잘 만들어진 단위 테스트입니다. 주석을 작성하는 것보다 몇 가지 이점이 있습니다.

  1. 코드가 변경 될 때 주석이 항상 변경되는 것은 아니며 나중에 혼동 될 수 있습니다.

  2. 단위 테스트를 통해 관리자는 코드를 쉽게 재생할 수 있습니다. 변경 사항을 관찰하기 위해 분리 할 수있는 개별 단위가 있다면 새로운 코드베이스를 배우는 것이 훨씬 쉬울 수 있습니다.

이 방법으로 더 많은 사전 작업이 필요하지만 단위 테스트는 훌륭한 문서 형식이 될 수 있습니다.


1

좋은 의견은 쓰기가 어렵고 심지어 최고의 의견조차도 읽고 이해하기가 어렵습니다. 귀하의 의견이 코드에 대해 알아야 할 내용을 전달하기에 충분하고 정확할 정도로 간결한 경우, 귀하가 사용하는 대명사와 아무런 차이가 없습니다.

나는 그들의 대명사의 사건, 시제 및 사람에 대해 염려하기 때문에 누군가가 그들의 코드에 주석을 달지 않는 것을 싫어합니다.


공식 문서의 일부가 될 주석의 경우보다 공식적인 어조가 적절하며 "I"및 "우리"는 피하는 것이 가장 좋습니다. 이 답변에서 내가 염두에 두었던 것은 예를 들어 다음 사람에게 잘못 보일 수있는 일을했을 때 가끔 설명하는 주석이었습니다. 동일한 코드베이스에서 일하는 사람들만이 그것을 볼 수있는 경우, 나는 그것이 무엇이든, I wrote the code this way because...또는 당신의 의미를 가장 명확하게 전달할 수있는 모든 것을하십시오 what we really need here is.... 에서 경우, 명확한 의견은 엄격한 스타일보다 더 중요하다.
존 M 갠트

1

"I"대신 "we"를 사용하는 이유는 "we"가 선호되는 많은 학술 작문을하기 때문입니다.

실제로 정확한 포인트를 결정한 사람을 숨기려고하지 않는 한 학술 논문의 경우에도 나쁜 스타일입니다.

귀하의 특정 질문에 관해서는 다음과 같이 시작하지 않는 한 그러한 의견을 남기지 않을 것입니다.

// TODO: clean this up, ...

또는 매우 중요한 것을 설명하지 않으면 코드에서 명확하지 않을 수 있습니다. 이 경우 의견을 가능한 짧게 작성하십시오.

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