マージ作業というものについて

program

こんばんは。

今日のタイトルですが、、

最初に断言しておきます。

これに対して、明確な効率的な答えや方針は持っていません。

 

マージって難しい

なんで(なんの?白目)

結局はコンピューターの挙動を人間が信用していないからなんですね。

マージは、subversion も git もある程度、自動でやってくれます。

でも、現時点の信頼性では、それをそのまま、コミットすることはできませんし

こちらの思い通りに、マージされているとは言えない状況です。

今日も新人のエンジニアが

新人エンジニア
マージしたんですけど、思い通りにマージされていなかったので、さらに手動で修正しました。

と言われました。
ツールでのマージはまだまだ完璧ではありません。

この新人エンジニアですが、昨日は

新人エンジニア
マージ作業終わりました、確認お願いします

って私にタスクが回っってきたので、一応確認で、

マージ後に動作確認した?

て聞くと

新人エンジニア
すみません。してません。

って再度確認してもらったんですが、

今日は確認作業の中で、マージの不足部分を発見したようです。

成長してますな!!嬉しい。

 

今の開発現場では、マージ作業後に、マージした人がチェックを行い

第三者が受け入れでチェックし

さらに、結合テスト時に、同じチェックを行っています。

3回チェックを行っているのです。

 

かなり無駄な作業のように感じますが、、、

それぞれ意味があります。

マージ作業後に作業者がチェックするのは、そらそうですよね。

やった気になっているが、ちゃんとできていない時がある。

人間だもの(相田みつお)

 

そして、それを信用がならないので、第3者がチェックする。

これもなんとなく筋が通っています。

 

そして結合テスト時に、さらにチェックをします。

これはなんでかというと、マージやらがこんがらがった時に、マージ分が消滅してはいないか?

という意味合いを込めて、再度チェックをします。

 

なんというか、結局のところ人間も、svn も git も信頼していないんですね。

やっぱり、そこが根底にあります。

ここはいいところでもあり、嫌なところでもあるのですが、

ITの世界って、性悪説、人間はミスするものだ!

ってところから入ります。

決してポジティブな世界ではないんです。

常にネガティブな精神から入っていくんです。

ここが営業やら、その他のイケイケの人種と相いれないところなんです。

もしかしたら、もしかしたら、不具合が、、

ばっかり考えて生きています。

ここで営業の方は、俺もそんなことを考えて仕事しているわ!

っておっしゃるかもしれませんが、

その比率が違うんです。

常に、日頃から、90%くらいは、不具合を起こさないように!

ばかり考えて生きているのが、開発という人種なのです!

 

何を言いたいのかよくわからなくなってきましたが

確か今日のテーマはマージでしたね。

結局言いたいのは、 git や subversion やらでいろんな便利なツールがありますが

現段階では、人間の脳にはかなわないってことです。

行間や、仕様はツールには理解できません。

この絶妙な空気感を読めるのは、今の所、人間しかいません。

 

なので

今日の教訓

ひとーつ:マージ作業は必ず、人間のチェック及び動作確認をすること!!

マージは作業です。絶対に確認さ作業が入ります。

コードを書きました!と同じレベルです。

コードを書いたら、テストしますよね?

ならマージ作業をした後も、テストが必要です。

 

今後もっと優れたマージのツールが出てくるかもしれません。

その時はテストや確認作業が大幅に削減されるかもしれませんが、

現段階において、それを信頼するべきは、この儚くも強い人間です(Cocco風)

マージのロジックが成長するまで、今しばらく待ちましょう。

 

では、また明日!!

 

にほんブログ村 IT技術ブログへ
にほんブログ村


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です