コードの修正とバージョン管理
こんばんは^^。
久々登場のGCCシステム担当のσ(^_^)です。
さて、今日のお話は「ソフトウェアを作り上げてから後」のお話・・・・・。
通常、ソフトウェアは「創りっぱなし」と言うことはなく、機能変更や機能追加などの要望によってどんどん「更新」されていきます。
身近な例としては、
Windowsの'95→'98→'98SE→Me・・・・
Officeの xp(2002)→2003→2007→2010
と言ったものが挙げられます。
そこでやってしまいがちなのは・・・・・・。
「ソースコード上で修正した部分を「削除」してしまう」
こと・・・・。
これ、あまりお勧めできません。
修正するのであれば
「修正部分をコメントアウトし、日付・理由をコメントとして記入しておく」
ことをお勧めします^^。
と言うのも・・・・・・
過去のコードを修正し、テストしてみて一見動作が正しそうでも、修正したことによって過去のバージョンで使えていた機能が使えなくなったり(これを「デグレード」と言います)、単体としては動作が正しくてもシステムとして組み込んだときに不具合の原因となることもあるからです。
この場合、過去のコードを「削除」してしまっていては、元に戻すことも難しくなります。
Webページのコーディングであれば、
・<!-- -->で囲まれた部分がコメント(.htmlファイルの場合)
・/* */で囲まれた部分がコメント(.css、.php、.jsファイルの場合)
・//以降のその行だけがコメント(.php、.jsファイルの場合)
・#以降のその行だけがコメント(.plファイルの場合)
ですので、応用されるとよいでしょう^^。
また、Windowsのように複数のバージョンが並行して存在している場合、同じ名前のソースコードであっても「中身が異なる」場合、「ソースコードのバージョン管理」も必要になってきます。
よく、Webページを修正し、フォルダ分けをしっかりしない状態で複数のバージョンをWebページを作成しているPCに保存していて、どのソースコードがいつのバージョンのもので、どのような動作のページなのかが区別できなくなり、結局Webページをおかしくしてしまうのを見かけたりしますが、まさに「バージョン管理がうまくできていない例」と言えるでしょう・・・・・。
「ソフトウェアのライフサイクル」と言う言葉もあるように、ソフトウェアも「生き物」・・・・・・^^;
「もう要らないから」と言って、捨てたり、切ったりしないで「いつか必要になるかも」と、一見ムダな行に見えても取っておきましょう・・・・・^^;。
何度それで救われたことやら・・・・・・・・(^^ゞ