プログラミングをしていると、似たような、少しだけ違う処理を何度か書かなければならないことがあります。うまく関数などの単位にまとめられれば良いのですが、ループ構造などをうまくまとめられない場合もありますし、開発の担当者が異なるために編集できないという場合もあります。そんなときは、1つ記述した処理の内容をコピー&ペーストで複製し、それぞれの場所に合わせて編集するという形でプログラムを書くことになります。 このような処理のコピーが、1つのバグを、複数の場所にばらまいてしまうこともあります。以下は、ある実際の企業システムにおける C# のバグ修正の例から、システム固有の変数名などをつぶしたものです。 for (var i=0; i < row.Cells.Count; i++) { if (row.Cells[i].Value == null) { - break; + con