アカウント名:
パスワード:
> 逆に、何にもコメントがなくてもコード自体が短くて直観的でコメント自体が不要なものであれば> 「美しい」コードだったりします。
内容は賛成ですが、万人にはお勧めできないと思います。「自称」やり手プログラマの中には、コメントがなければ美しいコードだと勘違いしている人がいるようなので。
以前、ソースコードにコメントがなくて理解できないことを書いた本人に言うと、「コメントがなくてもわかりやすく書いてある」と言っていたのですが、そのソースコードの不具合改修をお願いすると「書いてから時間が経っていてプログラムを解析する必要があるので、修正するには時間がかかる」と言ってました。そのためのコメントじゃないの?
同様に「プログラマならemacsだろ!IDEなんか必要ない!」みたいな考え方の人もどうかと思います。
>「自称」やり手プログラマの中には、>コメントがなければ美しいコードだと勘違いしている人がいるようなので。こっちの指摘はまあまあ理解できるけど、
>そのためのコメントじゃないの?それは必ずしも正しくないと思う。コメントがあった方が良い局面というのはあるけれど、コメントがあればデバッグのためのソースの解析が不要になるかというとそんなことはない。
たとえ自分が書いたプログラムやコメントでも、書いてから何年もたてば自分が書いた内容の細部なんて忘れてしまいます。まして自分が当時気付かなかったミスについて修整を頼まれたんだから、自分が当時正しいと思っていた
> スクリプト言語でも、IDEを使うとプログラムの処理をブレイクポイントで止めたり> その時点の変数の中身を見たりってことが簡単にできるので有益だと思います。
やり玉に挙げられていたEmacsでもできますけど。むしろIDEなんてなかった時代からEmacsではできてました。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
※ただしPHPを除く -- あるAdmin
あんまし関係がないと思う (スコア:4, すばらしい洞察)
文法が正確で誤字の少ない簡潔なコメントが書けても、そもそもクラス名とかメソッド名とか変数名
が非直観的だったり、インデントが深すぎだったりしたら「コード」としては「Ugly」です。
あと、修正前のコードをコメントアウトして残すことを強制されたコードも「Ugly」。
バグ票番号を修正箇所にゴチャゴチャ残させるコードも「Ugly」。
逆に、何にもコメントがなくてもコード自体が短くて直観的でコメント自体が不要なものであれば
「美しい」コードだったりします。
むしろプアでしゃくし定規な「コーディング規約」なる法典をおしつけられて無理やりコメントを
書かされていると冗長な説明文が入った「見た目にキタナイ」ソースになっちゃったりします。
コメントもコードも「言語」ですからね。
#ってか、「非プログラマ」な人種はソースなんて見るのか?(<俺)
---- ばくさん!@一応IT土方
Re: (スコア:4, すばらしい洞察)
> 逆に、何にもコメントがなくてもコード自体が短くて直観的でコメント自体が不要なものであれば
> 「美しい」コードだったりします。
内容は賛成ですが、万人にはお勧めできないと思います。
「自称」やり手プログラマの中には、
コメントがなければ美しいコードだと勘違いしている人がいるようなので。
以前、ソースコードにコメントがなくて理解できないことを書いた本人に言うと、
「コメントがなくてもわかりやすく書いてある」
と言っていたのですが、そのソースコードの不具合改修をお願いすると
「書いてから時間が経っていてプログラムを解析する必要があるので、修正するには時間がかかる」
と言ってました。
そのためのコメントじゃないの?
同様に「プログラマならemacsだろ!IDEなんか必要ない!」みたいな考え方の人もどうかと思います。
Re: (スコア:1)
>「自称」やり手プログラマの中には、
>コメントがなければ美しいコードだと勘違いしている人がいるようなので。
こっちの指摘はまあまあ理解できるけど、
>そのためのコメントじゃないの?
それは必ずしも正しくないと思う。
コメントがあった方が良い局面というのはあるけれど、コメントがあればデバッグのための
ソースの解析が不要になるかというとそんなことはない。
たとえ自分が書いたプログラムやコメントでも、書いてから何年もたてば自分が書いた
内容の細部なんて忘れてしまいます。まして自分が当時気付かなかったミスについて
修整を頼まれたんだから、自分が当時正しいと思っていた
Re:あんまし関係がないと思う (スコア:0)
>内容の細部なんて忘れてしまいます。まして自分が当時気付かなかったミスについて
>修整を頼まれたんだから、自分が当時正しいと思っていた仮定なんてあてになりません。
プログラマが「時間が経っているので」って言っているので、
自分が書いたプログラムの理解に時間がかかるってことでは?
>あとJavaのように強力な型付けの言語で、それをIDEが解析して利用している場合なら
>まだしも、Rubyのように動的な片付けの言語や、PHPのようにぐ支離滅裂な言語だと、
>IDEの単体エディタに対する利点はかなり減るでしょうね。
スクリプト言語でも、IDEを使うとプログラムの処理をブレイクポイントで止めたり
その時点の変数の中身を見たりってことが簡単にできるので有益だと思います。
エディタの利点じゃないですが。
# 昔、納品直前で最終確認をしてたら、画面にプログラマのデバッグ文と
# オタクっぽいコメントがでかでかと表示される不具合を見つけたことが…
# プリントデバッグはやめましょうよ…
Re: (スコア:0)
> スクリプト言語でも、IDEを使うとプログラムの処理をブレイクポイントで止めたり
> その時点の変数の中身を見たりってことが簡単にできるので有益だと思います。
やり玉に挙げられていたEmacsでもできますけど。
むしろIDEなんてなかった時代からEmacsではできてました。