문제

나는 devexpress coderush 및 refactor와 조금 일해 왔습니다! 이번 주 Pro, 그리고 코드를 입력 할 때 주석을 자동으로 생성하는 댓글 작성자 플러그인을 선택했습니다.

기본 의미를 고르는 작업이 얼마나 좋은 일을하고 싶지는 않지만 (실제로는 훌륭합니다) 기본 구현은 질문을 제기합니다.

기본적으로 블록을 닫기 위해 A} 문자를 입력하면 플러그인이 다음과 같은 주석을 추가하게됩니다 ...

using(MyType myType = new MyType())
{
    myType.doWork();
} // using

(즉, 닫는 버팀대 라벨링에 댓글을 추가 한 곳에 댓글을 추가합니다.)

이 동작이 크게 활용 될 수있는 사례가 있음을 알 수 있지만 결과 코드는 모든 추가 주석으로 매우 어수선한 것처럼 보입니다.

나는 다른 사람들이 이런 종류의 의견에 대해 무엇을 취했는지 궁금했습니다. 학문적 관점에서뿐만 아니라, 그들에 대한 많은 부정적인 의견을 얻는다면 나는 동료들에게 그것들을 가할 것인지 또는 그것을 벗겨야하는지 결정할 수 있습니다.

도움이 되었습니까?

해결책

물론 코드가 끔찍하지 않으면 그런 의견은 쓸모가 없다고 생각합니다. 적절한 코드 형식의 코드 형식을 사용하면 블록이 시작되는 위치와 블록이 어디에서 끝나는 지 어렵지 않습니다.

편집 : 절차가 너무 커서 브레이스에 의해 어떤 코드 블록이 닫히고 있는지 쉽게 명백하지 않은 경우, 어쨌든 절차를 설명하는 더 많은 설명적인 의견이 있어야하며 이러한 의견은 혼란 스러울 것입니다.

다른 팁

코드에서 논평을 장려하는 플러그인의 아이디어는 다소 쓸모가 없습니다. 기계에 의해 추론 될 수 있다면 그것을 읽는 사람은 누구나 추론 할 수 있습니다. 의견은 완전히 중복 될 가능성이 매우 높습니다.

닫는 중괄호 주석이 지저분하다고 생각합니다. 개인이 원한다면 IDE가 직접 제공하는 정보를 제공합니다.

IMO 코드가 이미 말하는 내용을 설명하는 모든 의견은 불필요합니다.

너무 긴 코드 블록이 너무 길어서 시작을 시작하기 위해 많은 스크롤을 해야하는 경우에 뭔가 잘못된 작업을 수행하고 코드를 분할하는 것을 고려할 수 있습니다.

나쁜 댓글 스타일 - 코드베이스에서 유지 관리 오버 헤드를 소개합니다.

나는 트레일을 발견 한 전 VB 코더를 알고있었습니다 }c-syntax 코드는 혼란 스럽지만,이 시나리오에서는 실제 수정이 코드를 리팩터링하여 깊은 둥지와 과도하게 긴 기능 및/또는 코드 블록을 방지하는 것입니다.

사용 블록이 IDE의 페이지를 통해 연장되면 유용하지만 다른 문제가 걱정됩니다. 이 경우 나는 올바른 들여 쓰기와 일치하는 브레이스를 선택할 때 일치하는 브레이스를 강조하는 IDE를 사용합니다.

나는 일반적으로 엄지 손가락을 내립니다. 그러나 긴 블록을 피할 수 없을 때 잠재적으로 사용됩니다.

때로는 매우 큰 코드 블록 또는 많은 중첩 블록이 함께 닫히게됩니다. 나는 때때로 이와 같은 경우 에이 스타일을 사용하지만 항상 항상 그런 것은 아닙니다. 코드로 제한하지 않습니다.

<div id="content">
    <div id="columns">
        <div class="column">

            <!-- .. snip a lot of lines .. -->

        </div> <!-- .column -->
    </div> <!-- #columns -->
</div> <!-- #content -->

이런 종류의 주석은 중첩 블록이 많은 매우 긴 코드 블록에서만 유용합니다. 그러나 많은 중첩 블록과 긴 방법이 리팩토링을 요구하기 때문에 이것이 처음에는 그렇지 않아야한다고 말했다. 독자는 분명히 코드 블록을 볼 수 있으므로 전혀 마음에 들지 않습니다.

주석보다 더 유용한 것은 교정기 쌍의 쌍을 강조 할뿐만 아니라 툴팁에 오픈 라인을 표시하여 예제의 닫기 브레이스 위로 마우스를 가져 오면 "사용 (사용)를 제시 할 수있는 IDE 기능이라고 생각합니다. myType myType = new myType ()) "도구 팁.

이를 통해 지속적인 시각적 혼란을 제공하지 않고도 큰 기능을 위해 복잡한 중첩 버팀대를 쉽게 이해할 수 있습니다.

나는 항상 이것을 기억하는 것이 유용하다고 생각합니다 ...

명확하고 잘 쓰여진 코드는 무엇 이 코드는 유능한 프로그래머가 그것을 선택하기 위해 수행하고 있습니다.

설명을 설명하려면 코드에 의견이 남아 있어야합니다 코드가하고 있습니다!

다시 말해, 코드 리더가 알고리즘 또는 코드가 예상되는 내용을 이해하도록 도와주는 주석을 사용하십시오. 성취하다, 아니다 어떻게 그것을 달성하고 있습니다!

당신은 원할 수도 있습니다 Jeff Atwood 의이 게시물을 확인하십시오.

그렇게하지 마십시오. 모든 곳에서 사용하면 소음을 추가하며 적절한 압입 외에도 가독성 문제를 해결해야합니다.

나는 그것을 끄지 않을 것이다. 나는 당신이 같은 장소 (더 길거나 짧은 블록)에서 여러 블록이 끝나는 경우에만 이것을 사용하는 포인트 만 볼 수 있습니다. 그러나 그들이 사용되면 자동화 된 도구를 추가하지 않고 신중하게 선택된 장소에서 수동으로 추가하는 것이 좋습니다.

특정 유형의 의견을 사용할 수 있는지 여부를 고려해야하는 경우 후자 일 가능성이 높습니다.

의견은 이해력을 쉽게하기 위해 특정 코드 또는 엔터티 전체를 설명하기위한 것입니다. 서식을 쉽게 읽을 수 있도록하지 마십시오.

플러그인을 갖는 것은 항상이 행동을 준수하는 것은 비만과 못 생겼습니다.

코드가 무엇을하는지 설명하는 더 좋은 방법이 있다는 데 동의합니다.

// 작업 항목과 같은 단일 유익한 주석이있는 긴 코드의 본문이있는 경우 해당 코드를 가져 와서 자체 방법으로 리팩터링 할 수 있습니다. 그런 다음 주석을 새 메소드 이름 인 fixworkitem ()로 사용하십시오. 이를 수행하는 것은 코드를보다 자체 문서화로 만드는 빠른 방법이며 이전에는 눈에 띄지 않은 일부 설계 특성을 드러 낼 수도 있습니다.

IDE가 자동으로 처리 할 수있는 잠재적 인 리팩터와 같은 한 라이너 의견을 주시하십시오. 물론 의도를 설명 할 때를 제외하고는 가장 잘 작성된 독립형 주석보다 더 낫습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top