プログラムの修正履歴

よそから引き継いでいるCのソースを見ていると何重にも重なった修正コメントがしょっちゅう出てくる。

/* CHG 2006.03.01 ProgrammerB ST */
/* ADD 2006.03.01 ProgrammerA Start */
//memset(pBuf,0,BUF_LEN);
memset(pBuf,0,BUF_LEN+1);
/* ADD 2006.03.01 ProgrammerA End */
/* CHG 2006.03.01 ProgrammerB ED */

まぁ、例えればこんなかんじ。

さらに#if 0~#endifなんかが絡まっていたりするともうソース読むのがうんざりしてくる。どの行が有効になっているかが一目でわからないし…

ソース内に更新履歴を残しておいたほうがいい場合もあるだろうけど、すべての修正履歴をこうして残しておく必要は無いんじゃないのかな…。SVNとかCVSとか使っていればカバーできる範囲だし。

でもなぁ…意外とSVNはともかく、CVSとかVSSのようなソース管理ツールを使ったことのない人がまだまだ多いのよね…。今の仕事も、自分以外のプログラマーは「CVSって?」っていう人だけど*1、とにかくプロジェクトの時間が無いのでSVNの導入を目指したけど布教に失敗。ちまちまと3人が「今からマージするね」とか声を掛け合って、それぞれの変更分をWinMergeでマージして、共有フォルダで日付ごとに管理…。

で、ベースになるソースが違ってたり、修正範囲が多い時なんかに案の定マージミスとかで時間が取られたり。やっぱり、ちゃんと使いこなさなくてもいいから何かツール使うべきだった…と激しく後悔。

  • *1: でも、別にプログラミングスキルが低いわけでもないし、経験年数も5年くらい。単にそういうツールを使った経験がないだけ
タイトルとURLをコピーしました