3

私はDevExpressCodeRushとRefactorを少し使っています!今週はプロで、コードを入力すると自動的にコメントを生成するコメンタープラグインを選びました。

基本的な意味(実際にはかなり良い)を選択するという仕事がどれほど優れているかについては説明したくありませんが、デフォルトの実装では疑問が生じます。

デフォルトでは、}文字を入力してブロックを閉じると、プラグインは次のようなコメントを追加します...

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

(つまり、開いた場所の閉じ中括弧のラベルにコメントを追加します。)

この動作が非常に役立つ場合があることはわかりますが、結果のコードは、コメントを追加すると非常に乱雑に見えると思います。

私は他の人が何であるか疑問に思いました;この種のコメントに対する見解は何でしたか。学術的な観点からだけでなく、それらについて多くの否定的なコメントを受け取った場合、同僚にそれらを与えるか、それらを取り除くかを決めることができます。

4

13 に答える 13

21

もちろんコードがひどい場合を除いて、そのようなコメントは役に立たないと思います。コードを適切にフォーマットすると、通常、これらのブロックはインデントされているため、ブロックの開始位置と終了位置を確認することは難しくありません。

編集:プロシージャが非常に大きく、中括弧で閉じられているコードのブロックがすぐにわからない場合は、とにかくプロシージャを説明するより説明的なコメントがすでにあるはずであり、これらのコメントは雑然としています。

于 2008-11-27T14:02:50.863 に答える
9

コードからコメントを生成するプラグインのアイデアは役に立たないと思います。機械によって推論できる場合は、それを読んでいる人も推論できます。コメントは完全に冗長である可能性が非常に高いです。

これらの右中括弧のコメントは面倒だと思います。必要に応じて、IDE から直接提供された方が適切な情報が得られます。

于 2008-11-27T14:08:20.900 に答える
4

IMOは、コードがすでに伝えていることを説明しているすべてのコメントは不要です。

あなたが本当に長いコードブロックを持っているので、そこを最初に見るためにたくさんスクロールしなければならないなら、あなたは何か間違ったことをしたので、コードを分割することを検討するかもしれません。

于 2008-11-27T14:03:47.913 に答える
4

悪い悪いコメント スタイル - コードベースでメンテナンスのオーバーヘッドが発生します。

C 構文コードの s の跡がわかりにくい元 VB コーダーを知っています}が、このシナリオでの実際の修正は、コードをリファクタリングして、深いネストや過度に長い関数やコード ブロックを防ぐことです。

于 2008-11-27T14:08:06.097 に答える
3

usingブロックがIDEのページにまたがっている場合は便利かもしれませんが、他にも心配すべき問題があります。この場合、適切なインデントと、1つを選択したときに一致する中括弧を強調表示するIDEを使用します。

私は一般的にそれを低く評価しますが、そうでなければ長いブロックを避けられないときに潜在的に使用されます。

于 2008-11-27T14:04:40.877 に答える
3

非常に大きなコード ブロックや、多数のネストされたブロックが閉じている場合があります。このような場合にこのスタイルを使用することもありますが、常にではありません。私はそれをコードに限定しません: HTML は、このスタイルの「クローズコメント」から大きな恩恵を受けることができます:

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

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

        </div> <!-- .column -->
    </div> <!-- #columns -->
</div> <!-- #content -->
于 2008-11-27T14:06:30.733 に答える
2

この種のコメントは、ネストされたブロックが多数ある非常に長いコードブロックでのみ役立ちます。しかし、多くのネストされたブロックと長いメソッドがリファクタリングを必要とするため、そもそもこれは当てはまらないはずです。読者は明らかにそれがコードのブロックであることがわかるので、私はこれがまったく好きではありません。

于 2008-11-27T14:05:02.157 に答える
2

これを覚えておくといつも便利だと思います...

明確でよく書かれたコードは、有能なプログラマーが理解できるように、コードがをしているかについて十分な説明を提供します。

コードがそれを行う理由を説明するために、コードにコメントを残す必要があります。

言い換えれば、コメントを使用して、コードの読者がアルゴリズムを理解するのを助けたり、コードが達成する方法ではなく、コードが達成することになっていることを理解したりするのに役立ちます!

Jeff Atwood によるこの投稿をチェックしてみてください。

于 2008-11-28T12:16:36.510 に答える
2

コメントよりも便利だと思うのは、一致する中かっこのペアを強調表示するだけでなく、ツールチップに開始行を表示する IDE 機能です。 MyType myType = new MyType())" をツールチップに表示します。

これにより、大規模な関数の複雑なネストされたブレースを簡単に理解できるようになり、常に視覚的に煩雑になることはありません。

于 2008-11-27T14:37:06.037 に答える
1

私はそれをオフにしておくでしょう。同じ場所で終わる複数のブロック (長いブロックまたは短いブロック) がある場合にのみ、これを使用するポイントがわかりました。ただし、それらを使用する場合は、自動化されたツールで追加するよりも、慎重に選択した場所に手動で追加することをお勧めします。

于 2008-11-27T14:24:34.330 に答える
1

やらないでください。あちこちで使用するとノイズが増えるだけです。適切なインデントに加えて、読みやすさの問題を解決する必要があります。

于 2008-11-27T14:08:34.347 に答える
0

特定のタイプのコメントが使用可能かどうかを検討する必要がある場合は、おそらく後者です。

コメントは、理解を容易にするために、コードの特定のブロックまたはエンティティ全体を説明するためのものです。フォーマットを読みやすくしないでください。

プラグインを常にこの動作に準拠させることは、肥満で醜いです。

于 2008-11-28T11:37:54.853 に答える