アカウント名:
パスワード:
「変更する場合には、変更前のコードを全てコメントで残して日付・変更者を記載すること。」 バージョン管理システムを使おうよ…
使わなくなった関数が大量に丸ごと残ってるとかはさすがにアレなんで、 ある程度弾力的な運用は必要だとは思いますけど。
こういうことが言っていられるうちはまだ花で, 実際には1万行の関数(ソースじゃないよ)の8~9割が修正に伴うコメント化されたコードなんてことが往々にしてあります. こういう状況だと, 現在生きているコードがどの部分かをさがすだけでも大変な手間. 一般的なパターン一致じゃ該当する関数や変数・シンボルの位置を特定することもできず, コードを修正したと思っていたら実はコメントの中だったなんてこともよくあります.
しかも巨大プロジェクトとなるとコーダーの品質は最低レベルなので, こういった「コメントで残す」という規約を設けると, 全てのコードをコピペしてコメント化し, それに手を加えるといったことをしてくれやがります. すなわちコメントは差分ではなく, 一つのソースファイル内に複数のバージョンのソースファイルが含まれているような感じになります. そのためバージョン間の変更点を探すのに一般的な差分表示はほとんど役に立たちません. しかもこうしたコピペ型コメントには一定の法則性が無い, 例えばソース全体, ブロック, 行単位でのコピペコメントなどが混在しているので, ちょっとツールでも作って整形なんてことも無理. 結果, コードの品質はひとえに人力だよりで, 加速度的に劣化していきます.
優れたエディタや統合開発環境が結果として最悪のコードを生み出すというのは皮肉としか言い様がありません.
と言っても「規約を守る」という一点においてこのような行為は正当として評価され, 改善提案は却下されることが多いです. なぜなら過去にはそれでやってこれたから. 結果, 表面化しない限りにおいて, こうしたクソコード(もはやコードですらない)は温存され, 未来へのツケとして人々を苦しめつづけることになります.
暴論ではありますが, いっそのこと一切のコメントを禁止するような規約もありかと思うようになりました. そうすれば実際に動いている物のみがコードには残りますし, コメントとコードの不一致でどちらが正しいのか悩む必要も無くなる. コメント無しで読むことが難しいような記述(変なアルゴリズムや不適切なネーミングなど)も自然に避けると, いいことずくめのような.
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常
コメントで残す (スコア:5, おもしろおかしい)
「変更する場合には、変更前のコードを全てコメントで残して日付・変更者を記載すること。」
バージョン管理システムを使おうよ…
HIRATA Yasuyuki
Re: (スコア:2, おもしろおかしい)
なんのためにバージョン管理使ってるんだかわからなくなります・・・。
Re:コメントで残す (スコア:1)
でも仕事の性質上、コメント残ってないと今の仕事の手間がもう一段増えそうだなー。
仕事の方向性によっては、別に悪いことばかりではないと思う。
使わなくなった関数が大量に丸ごと残ってるとかはさすがにアレなんで、
ある程度弾力的な運用は必要だとは思いますけど。
Re:コメントで残す (スコア:1)
こういうことが言っていられるうちはまだ花で, 実際には1万行の関数(ソースじゃないよ)の8~9割が修正に伴うコメント化されたコードなんてことが往々にしてあります. こういう状況だと, 現在生きているコードがどの部分かをさがすだけでも大変な手間. 一般的なパターン一致じゃ該当する関数や変数・シンボルの位置を特定することもできず, コードを修正したと思っていたら実はコメントの中だったなんてこともよくあります.
しかも巨大プロジェクトとなるとコーダーの品質は最低レベルなので, こういった「コメントで残す」という規約を設けると, 全てのコードをコピペしてコメント化し, それに手を加えるといったことをしてくれやがります. すなわちコメントは差分ではなく, 一つのソースファイル内に複数のバージョンのソースファイルが含まれているような感じになります. そのためバージョン間の変更点を探すのに一般的な差分表示はほとんど役に立たちません. しかもこうしたコピペ型コメントには一定の法則性が無い, 例えばソース全体, ブロック, 行単位でのコピペコメントなどが混在しているので, ちょっとツールでも作って整形なんてことも無理. 結果, コードの品質はひとえに人力だよりで, 加速度的に劣化していきます.
優れたエディタや統合開発環境が結果として最悪のコードを生み出すというのは皮肉としか言い様がありません.
と言っても「規約を守る」という一点においてこのような行為は正当として評価され, 改善提案は却下されることが多いです. なぜなら過去にはそれでやってこれたから. 結果, 表面化しない限りにおいて, こうしたクソコード(もはやコードですらない)は温存され, 未来へのツケとして人々を苦しめつづけることになります.
暴論ではありますが, いっそのこと一切のコメントを禁止するような規約もありかと思うようになりました. そうすれば実際に動いている物のみがコードには残りますし, コメントとコードの不一致でどちらが正しいのか悩む必要も無くなる. コメント無しで読むことが難しいような記述(変なアルゴリズムや不適切なネーミングなど)も自然に避けると, いいことずくめのような.
Re: (スコア:0)
>優れたエディタや統合開発環境が結果として最悪のコードを生み出す
なのでしょうか?
単にこぴぺが楽なだけで、
察するにそれは「他のもっと高等な作業はちっとも楽じゃない」つまり駄目なツール、だったのじゃないでしょうか?
あるいはツールは立派でも使う人がその機能を「十分に」使わず、こぴぺという最悪の機能しか使わなかった、か。
>なぜなら過去にはそれでやってこれたから.
いつか破綻しますよね。
>いっそのこと一切のコメントを禁止するような規約もありかと思うようになりました
このほうが