コメントするかコメントしないか?

「あるレベルでは、コメントが役立つはずであることは明らかです。 そうでないと考えると、プログラムの理解可能性は、そのプログラムを読んでいる人がそのプログラムに関する情報をどれだけ知っているかに依存しないと仮定することになります。 B・シェイル」

俳優:

フラシマ彼が読んだすべてを信じる理論の経験の浅い純粋主義者。

CALLICLEバトルハードなオールドスクールの代表者は「本物」です

プログラマー。

GLAVKON若く、自信があり、エネルギッシュなプログラマー。

ISMENA有名な約束にうんざりしているだけでなく、

いくつかの作業方法を見つけたい。

SOCRATES賢明な経験豊富なプログラマー。



ステージステージ:

毎日のグループ会議を終了

「仕事に戻る前に誰か他の人と話し合いたいですか?」 -ソクラテスに尋ねる。

「私たちのプロジェクトにコメントの標準を提供したいのです」とラシマハは言います。 -一部のプログラマーは自分のコードにコメントすることはほとんどありませんが、コメントがないとコードが読めないことを誰もが知っています。

「あなたは思ったよりもさらに経験が少ないはずです」とカリクルは答えます。 -コメントはアカデミックな万能薬であり、実際のプログラムを書いた人なら誰でも、コメントがコードを読むのを難しくするのではなく、難しくすることを知っています。 自然言語はJavaやVisual Basicよりも正確性が低く、冗長性に悩まされていますが、プログラミング言語のオペレーターは簡潔であり、ブルズアイに陥ります。 明確なコードを書くことができない場合、明確なコメントを書くことができますか? また、コードが変更されると、コメントは古くなります。

時代遅れのコメントを信じて、あなたは自分のために穴を掘ります。



「完全に同意します」とGlavkonは会話に入ります。 -寛大にコメントされたコードは読みにくい。この場合、もっと読む必要があるからだ。 リトル

コードを読む必要があるので、コメントもたくさん読む必要があります!

「ちょっと待ってください」イエメンは2つのドラクマを入れて、コーヒーを1杯置きました。

-もちろん、コメントの悪用は可能ですが、良いコメント

金でその重量の価値があります。 コメントと同様にコードに同行する必要がありましたが、

それらがなければ、選択があれば、最初のオプションを好むでしょう。 私はそうは思わない

x行ごとに1つのコメントを書くことを強制する標準が必要です

コードが、すべてのプログラマーにコードについてコメントするように奨励しても害はありません。

「コメントが時間の無駄である場合、なぜ誰もがそれらを使用するのですか、カリクル?」 -ソクラテスに尋ねる。

-または、これが要件であるため、または人がどこかで読んだことがあるため

コメントの使用。 これを考えたことのあるプログラマーは、コメントが有用であるという結論に至りませんでした。



-イエメンは、彼らが役に立つと信じています。 彼女はあなたのコードに3年間付き添っています

コメントとコメント付きの誰かのコード。 あなたはすでに彼女の意見を聞いた。 あなたは何ですか

言ってくれますか?

-コメントは、より冗長にコードを繰り返すだけなので役に立たない...

「待って」カリクラ・フラシマッハは割り込む。 -良いコメント

コードを繰り返したり説明したりしないでください。 彼らは彼の目的を説明します。 コメントは、コードよりも高い抽象化レベルでプログラマーの意図を説明する必要があります。

「そうです」とイエメンは同意します。 -変更または修正が必要なフラグメントを探している場合は、コメントを確認します。 コードを繰り返すコメントは、コード自体ですべてが既に述べられているため、実際には役に立ちません。 いつ

コメントを読んで、本の目次に似せてほしい。 コメントは正しいセクションを見つけるのに役立つはずです。その後、読み始めます

コード。 プログラミング言語で20行のコードを分析するよりも、通常の言語で1つの文を読む方がはるかに高速です。

イエメンは2杯目のコーヒーを注ぎます。



-私はコメントを書くことを拒否する人々、A)と思うようです

彼らのコードは考えられるよりも理解しやすい、B)他のプログラマーは実際よりも自分のコードにはるかに興味があると信じている、C)他のプログラマーは実際よりも賢い、D)怠zy、またはE)恐れているあれ

他の誰かが自分のコードがどのように機能するか知っているでしょう。

「その意味で、コードレビューは本当に役立つでしょう、ソクラテス」とイエメンは続けます。

-誰かがあなたがコメントを書く必要がないと主張し、レビュー中にたくさんの質問を受けた場合-複数の同僚が一度に彼に尋ねた場合:「あなたのコードのこの断片で何が起こりますか?」-彼はコメントを書き始めます。自分自身、彼のリーダーは彼にコメントを書かせることができます。

「カリクル、あなたが怠けている、または誰かがあなたのコードを理解するのを恐れていると言っているのではありません。」 私はあなたのコードで作業しました、そしてあなたは最高の一人であると言えます

会社のプログラマ。 しかし、少し親切になりませんか? あなたがコメントを書いたなら、私があなたのコードに同行する方が簡単だろう。



「しかし、それは時間の無駄です」カリクロスはあきらめません。 -優秀なプログラマーのコードは自己文書化する必要があります。他のプログラマーが知る必要があるものはすべて、コード自体にあるべきです。

-いや! 「フラシマックは椅子から飛び上がります。」 -コードにはすでに必要なものがすべて含まれています

コンパイラを知ってください! 同じ成功で、他のプログラマが知る必要があるものはすべてバイナリ実行可能ファイルにすでにあると言うことができます! もし

私たちがそれを読むことができるほど十分にスマートだったなら! についての情報

プログラマーがしようとしていたことは、コードにはありません。

Frasimachは、彼が飛び上がって座っていることに気付きます。

-ソクラテス、これは考えられない。 コメントの重要性について議論しているのはなぜですか? 全部で

私が読んだ本は、コメントは有用であり、コメントを保存すべきではないと言っています。 私たちは時間を無駄にしています。

「落ち着いて、トラシマコス。」 Kallikleにプログラミングの期間を尋ねてください。



「ほんと、カリクル?」

-さて、私は約15年前にアクロポリスIVシステムから始めました。 約12個の大規模なアプリケーションの誕生と死を目撃したと思います。 そして、1ダースのプロジェクトで、大きなコンポーネントに取り組みました。 これらのシステムのうち2つには50万行を超えるコードが含まれていたため、私が話していることはわかっています。 コメントはまったく役に立ちません。

ソクラテスは若いプログラマーに目を向けます。

-Kalliklによると、コメントには本当に多くの問題があり、

経験を積むまで理解できません。 コメントする場合

コードは文盲であり、コメントは単に役に立たないだけでなく、有害です。

「コードを正しくコメントしても、それらは役に立たない」とカリクルは言う。

-コメントはプログラミング言語ほど正確ではありません。 個人的には、

まったく書かない方がいいです。



「待って」とソクラテスは言う。 -イエメンはコメントが少ないことに同意します

正確だが、彼女はコメントがプログラマーをより高めると主張している

高レベルの抽象化、そして抽象化が最も

自由に使える効果的なツール。

「私はこれに同意しません」とGlavkonは言います。 -私たちは集中する必要があります

コメントではなく、コードの読みやすさ。 ほとんどのリファクタリング

コメントが消えます。 リファクタリング後、私のコードには20

または、コメントを必要としない30個のメソッド呼び出し。

優れたプログラマーは、コード自体によって作成者の目的を判断できます。 それに

コードにエラーが含まれていることがわかっている場合、誰かの目標について読むことはどのように使用されますか?

Glavkonは一時停止し、会話への貢献に満足しています。 カリクルはうなずく。

「他人のコードを変更する必要がなかったようです」とイエメンは言います。

カリクルは天井のタイルに非常に興味を持っているふりをしています。



「コードを書いてから6か月後か1年後に自分のコードを読んでみませんか?」 コード読み取りとコード読み取りの両方を開発できます

それにコメントします。 誰もあなたに一つのことを選択させることはありません。 小説を読んでいる場合、章のタイトルは必要ないかもしれません。 しかし、テクニカルを読むとき

おそらくあなたが探しているものをすぐに見つけられるようにしたい本です。

それから私はスーパーフォーカスモードに行って読む必要はありません

変更する2行を見つけるための数百行のコード。

「まあ、コードをすばやく表示できると便利だと思います」とGlavkon氏は言います。 彼はイスメナのプログラムのいくつかを見ました、そして、彼らは彼を無関心のままにしませんでした。 「しかし、他のカリクレ声明についてはどうですか-その

コードが変更されるとコメントは廃止されますか? 私はカップルだけをプログラムします

年、しかし、私でさえ誰も彼らのコメントを更新していないことを知っています。



「ええ、はい、いいえ」とイエメンは言います。 -コメントに触れることができず、コードが疑わしいと思われる場合は、深刻な問題があります。 実際、コメントとコードの不一致は通常、それが間違っていることを示しています

それと別の両方。 一部のコメントが悪い場合、これはコメント自体が悪いことを意味しません。 もう一杯コーヒーを注ぎます。

イエメンは部屋を出る。

「コメントに対する私の主な反対意見」とカリクルは言います。

彼らがリソースを使うこと。

-コメントを書く時間を最小限に抑える方法を提案できますか? -ソクラテスに尋ねる。

「擬似コードでメソッドを設計し、擬似コードをコメントに変換し、それらに対応するコードを記述します」とGlavkon氏は言います。

「OK、コメントでコードが繰り返されていなくても機能します」とKallikl氏は言います。

-コメントを書くことで、あなたが自分の

コード」、とイエメンは言い、新しいコーヒーを飲みながら帰ってきました。 -コメントの場合

書くのは難しく、コードが悪いか、十分に理解していないことを意味します。 どちらの場合も、まだコードを操作する必要があります。そのため、コメントに費やした時間が消えることはありません。必要な作業を示しています。

「良い」ソクラテスは要約します。 -まだ質問があるとは思わない。 イエメンは今日最も説得力があるように思われました。 コメントを奨励しますが、彼を無邪気に扱うことはしません。 私たちは実現します

どのコメントが実際に役立つかを全員が理解できるようにコードをレビューします。 もし

他のプログラマーのコードの理解に問題がある場合は、彼がそれを改善する方法を伝えてください。



スティーブ・マコネルド



All Articles