書いたコードが一発で動作するとなぜ不安なのか

IMG_0001

プログラミングにおいて少なくないコードを一気に書き上げたとき、そのコードが一発で動作 or テストケースに通るとなんともいえない不安を覚えるのは、プログラマーなら誰でもあるあるネタだと思う。「本当にこれ、一発で動作しちゃっていいの? 俺、そこまでミスしないプログラマーだっけ?」なんて自分を疑ったりする。

このあいだもそんなことがあったんだけど、ふと気になった。不安になる理由は、自信のなさからくるものだけだろうか? ちなみに、書いたコードが正しく動作しないとき、コードを修正すると不安になることはない。一体、なぜ?

一発で動作したブラウザの画面を見ながら、考えてみて、閃いた。「コードの修正は、書いたコードを見直す機会にもなっているから」じゃないだろうか。コードの見直しは「リファクタリング」といっていもいい。

一発で動作してしまうと、修正を行わなくてもいい。テストケースでも、テストに通れば、とりあえずはOKだ。でも、コードの品質は?たった一度のコーディングで、納得のいくコードを書けたとでもいうのだろうか?(よほどの自信があれば別だ)

コードに問題があれば、修正を行うことになる。必然的に、書いたコードのほとんどを見直す。このとき、単に修正するだけではなく、コードの品質に問題がないかも確認している。無駄な変数を作ったり、再代入していないだろうか?命名規則は正しいか?などなど。

他にも「一発で動作するとなぜ不安なのか」の理由があれば聞きたいので、お待ちしております。

コメント / トラックバック

コメント / トラックバック 2 件

  1. shanks999 より:

    それなりの量のコードを「一気に書き上げる」という作業よりも、その前段階の設計がさほど詳細でないことが多いからかもしれませんね。ロジックレベルまで設計書を書いてからコーディングする機会はあまりなくて、実際は、大体の機能やUIが決まると製造がスタートしてしまうという現実がありますよね。予算と時間が十分あればプログラムのロジックレベルまで踏み込んだ詳細な設計作業(合わせてモジュールレベルのテストパターンなんかも作成)が可能なんだけど、そういうケースは稀ですよね。

  2. あれい より:

    滅多に無いことが起こる→不安になるという心理なんじゃ無いでしょうか?
    あと、結構大きいプログラムを一気に書いている時ってアドレナリン大放出だと思うので、それが抜けてしまうとチョッと不安になる気がします。