プログラマとプロマネのあいだスマートフォン用の表示で見るプログラマとプロマネのあいだプログラマもやるし、プロマネもやるし、たまに似非アーキとか営業っぽいこともやるITエンジニアがスキルアップの話を中心に日常を綴るブログです。2011-05-30バージョン管理にコメントを残したとしても、ソースコードに改訂履歴のコメントを残す必要があるという主張IT(2011/06/12追記)コメント欄でご意見いただいたので、追記しておきます。ここでいう、バージョン管理は、いわゆるSubversionなどの、いわゆる集中管理型を想定しています。→"「一つのチケットに対して複数のコミット」が基本とな"ると理解しました。場合によっては、名前だったり、所属だったり、日付だったりも入れるかも知れない。バージョン管理にコメント残すから、こういうのは要らないでしょ。いう意見があるという話。探してみたら、意外と見つかりませんでした。探し方が悪いのかも知れませんが。見つけたものをいくつか引用します。修正コメントは時代遅れ!?私は、修正コメントを、百害あって一利なし、のものと考えています。主な理由は、コードが汚くなる、修正が面倒になる、Diffツールを使った差分が台無しになる、この3点です。(もっとあるかもしれません。)ソースコードの保守性の観点から私が嫌いなのが、「不要なコメント」です。開始(終了)」を記入しているだけのコメントです。まっとうな開発であれば何らかのソースコードバージョン管理ツール(subversionやCVS)を使っているでしょうから、全くの無意味です(継続的な修正や機能追加でこういったコメントが累積していってはたまりません)。CVSでソース管理をしているにも関わらず、ソースに以前の履歴や修正内容が残されているのを見たことはありませんか?これらの記述は、大昔にソース管理ツールなどというものが存在しなかった時代に用いられていた手法です。いった記述は、修正を繰り返す度にソースを汚していきます。これを改善するためにソース管理システムがあるのです。修正内容は、SVN(CVS)のコミットコメントとして残すのでソース上に記述する必要はありません。コメントアウトしている箇所は、もうそれが必要無いと判断した時点で遠慮なく削除しましょう。何を修正したかのコメントはSubversionのほうにコミットするたびに記録しておけばいいのでソースコードに直接コメントを書く必要はない。バージョン管理システムの履歴を見れば今までにコミットした各バージョン毎にコメントが一覧でわかる。今一緒に開発している同僚のSEは、「古いソースをコメントアウトしたり、コメントに日付を入れたりするのは、構成管理ツールが無かった頃の古いやり方だ。今はむしろやってはいけない風潮になっているから、すべきではない。」といい、そのやり方に反対しています。はい、オールドタイプですみませんでした。一つのコミットコメントに対して、一つの課題が紐付くので、バージョン管理の差分で出てくるソースコードの修正履歴が、どの課題を対象としているのか明確なので問題ありません。複数の課題それぞれに対して、複数の修正箇所が紐付きます。一つのコミットに対して、複数の課題を対象にしているために、どの課題を対象としているのか、コミットコメントを見ただけでは分かりません。そんなの見れば分かるっていう意見もあると思いますが、それは、どの機能がどのソースで実現されているかを理解している場合のみで、ソースを読む人全員が、そうであるとは限りません。一回のコミットで、一つの課題のみ対象となるよう分けてコミットした方が良いと思いますが、うまく分かれない場合があるのも事実です。ソースコードの修正履歴は誰が見るのかソースコードのレビューア一番ソースコードの修正履歴を見るのは、ソースコードのレビューアでしょう。これは私自身がそうであったからこそ、このエントリが生まれているわけですが。修正内容が良く分からないときは、担当者に確認する必要がありました。これは比較的リアルタイムの話なので、問題になることは少ないかも知れません。トラブル発生時の保守エンジニアまたは、なにかトラブルが発生したときに、犯人探し、もとい、原因追及をするのに、どのリビジョンで問題が発生したかを確かめるため、ソースコードの修正履歴を見るということはあると思います。特定しづらいという問題があります。影響調査時の保守エンジニア同上。いうわけでソースコードの修正箇所は、課題(チケット)と紐付けるようにすべき。そのためには、以下のようなルールにする必要がある。一回のコミットで、いくつの課題(チケット)を対象とするかに関わらず、ソースコード上に改訂履歴のコメントを残すまあ同意する人は少ないだろうなー。いう予防線を張っておく。Lisp」3章読了リストに関する章。月別アーカイブはてなブログをはじめよう!taka_2さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。