アカウント名:
パスワード:
> 逆に、何にもコメントがなくてもコード自体が短くて直観的でコメント自体が不要なものであれば> 「美しい」コードだったりします。
内容は賛成ですが、万人にはお勧めできないと思います。「自称」やり手プログラマの中には、コメントがなければ美しいコードだと勘違いしている人がいるようなので。
以前、ソースコードにコメントがなくて理解できないことを書いた本人に言うと、「コメントがなくてもわかりやすく書いてある」と言っていたのですが、そのソースコードの不具合改修をお願いすると「書いてから時間が経っていてプログラムを解析する必要があるので、修正するには時間がかかる」と言ってました。そのためのコメントじゃないの?
同様に「プログラマならemacsだろ!IDEなんか必要ない!」みたいな考え方の人もどうかと思います。
> そのためのコメントじゃないの?
コメントが書かれているからといってプログラムを解析する手間がなくなるわけじゃない。
だってコメントが書いてあってもそれが正しいという保証はない。
だから必ずコメントとコードが整合しているかチェックしなくちゃいけないけど、これがコードを直接、解析するより楽かどうかはコメント(とコード)の品質による。
「優れたコメントは優れたコードと同じくらいプログラムにとって重要だ」
という言葉を聞いたことがある。(ストールマンがいってたような…)
しかし私は言おう。
「劣悪なコメントは凶悪なバグと同じくらいプログラムにとって有害だ」
と
> コメントとコードが整合しているかそれはコメントでコーディングしているだけで、そんなチェックをしなければならないようなことがコメントに書かれている時点でコメントの使い方を間違えてる。言語仕様が貧弱なので仕方なくコメントで事前条件を書いているということはあるかもしれないけど。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー
あんまし関係がないと思う (スコア:4, すばらしい洞察)
文法が正確で誤字の少ない簡潔なコメントが書けても、そもそもクラス名とかメソッド名とか変数名
が非直観的だったり、インデントが深すぎだったりしたら「コード」としては「Ugly」です。
あと、修正前のコードをコメントアウトして残すことを強制されたコードも「Ugly」。
バグ票番号を修正箇所にゴチャゴチャ残させるコードも「Ugly」。
逆に、何にもコメントがなくてもコード自体が短くて直観的でコメント自体が不要なものであれば
「美しい」コードだったりします。
むしろプアでしゃくし定規な「コーディング規約」なる法典をおしつけられて無理やりコメントを
書かされていると冗長な説明文が入った「見た目にキタナイ」ソースになっちゃったりします。
コメントもコードも「言語」ですからね。
#ってか、「非プログラマ」な人種はソースなんて見るのか?(<俺)
---- ばくさん!@一応IT土方
Re: (スコア:4, すばらしい洞察)
> 逆に、何にもコメントがなくてもコード自体が短くて直観的でコメント自体が不要なものであれば
> 「美しい」コードだったりします。
内容は賛成ですが、万人にはお勧めできないと思います。
「自称」やり手プログラマの中には、
コメントがなければ美しいコードだと勘違いしている人がいるようなので。
以前、ソースコードにコメントがなくて理解できないことを書いた本人に言うと、
「コメントがなくてもわかりやすく書いてある」
と言っていたのですが、そのソースコードの不具合改修をお願いすると
「書いてから時間が経っていてプログラムを解析する必要があるので、修正するには時間がかかる」
と言ってました。
そのためのコメントじゃないの?
同様に「プログラマならemacsだろ!IDEなんか必要ない!」みたいな考え方の人もどうかと思います。
Re:あんまし関係がないと思う (スコア:2)
> そのためのコメントじゃないの?
コメントが書かれているからといってプログラムを
解析する手間がなくなるわけじゃない。
だってコメントが書いてあってもそれが正しいという
保証はない。
だから必ずコメントとコードが整合しているかチェックしなくちゃ
いけないけど、これがコードを直接、解析するより楽かどうかは
コメント(とコード)の品質による。
「優れたコメントは優れたコードと同じくらいプログラムにとって重要だ」
という言葉を聞いたことがある。(ストールマンがいってたような…)
しかし私は言おう。
「劣悪なコメントは凶悪なバグと同じくらいプログラムにとって有害だ」
と
Re: (スコア:0)
> コメントとコードが整合しているか
それはコメントでコーディングしているだけで、そんなチェックをしなければならないようなことがコメントに書かれている時点でコメントの使い方を間違えてる。
言語仕様が貧弱なので仕方なくコメントで事前条件を書いているということはあるかもしれないけど。