で、考えたのが次の組み合わせ
■作る人のレベルが高い&直す人のレベルが高い
比較的楽に修正できる。
作る側は修正を考え見通しがよく疎結合作成されている可能性が高い。
直す人は全体像を捕まえ、修正範囲を的確に絞れる。
■作る人のレベルが高い&直す人のレベルが低い
たぶん楽に修正できる。
作る側は先ほどと同じだが直すほうは何も考えずに修正する。
しかしつくりがいい為、修正箇所がわかりやすく影響し難い。
ここで心配になるのが直す側が低すぎる場合
・それでも修正箇所が分からない
・自分で作ったほうが修正が早いと勘違いを言い出す
■作る人のレベルが低い&直す人のレベルが高い
恐る恐る修正してなんとかなる。
見通しが悪いのでレベルが高い人が見ても正しいかどうか判断できない。
修正後、ひたすらテストで検証を行う(しか手がないかな?)。
人によっては作り直したりするかもしれないが、そこは時間と影響度の兼ね合いになるのではないでしょうか。
■作る人のレベルが低い&直す人のレベルが低い
絶対なおらない(と思う)。
もしかしたら、変な風に噛み合って直るかも。
結局は別の人が直すか、作り直しとなってしまうであろう。
作る人と直す人の違いはそのプログラムの根底が自分の考えか
他人の考えかの違いになる。
作る場合は自分が正しいと思って作ったものを元に進める。
これって自分の考えなので比較的問題ないですよね。
私の場合はそれでもかなり悩みつつ組みますが・・・
直す場合は他人が正しいと思って作ったものを元に進める。
で、直す人は自分ではない誰かの考えを探りそこからそのコードが正しいか
どうかを判断する能力が必要となる(のかな?)。
でも作る人も直す人もベースは同じでそこがしっかりしている人が
レベル高い人なのかなーとも思ったりなんかして。