こんにちは。Jildinのイルカちゃんです。
今回は不具合を防止するための心構えと、具体的な方策に関する記事です。
というのも、私が空前絶後の不具合を出し、他の社員に迷惑をかけてしまったため、自戒と反省の意味も込めて今回の記事をリリースした次第です。
さて、不具合を出さないためにはどうしたらよいのでしょうか。
誰が見ても機能がわかる記述をする
それは、わかりにくいコードを書かない、ということです。この事に関しては、ハゲタカさんが以前に記事にしていました。
つまり、不具合が起こったとしてもすぐに原因の場所が特定出来るようなコードを記述しよう、ということなのです。
具体的には、「メソッド単位での記述」が挙げられます。機能毎にメソッドを作成し、引数の受け渡しだけをする。こうすることで、不具合が起こった際に、不具合が起こった機能のメソッドだけを直せばいいので、修正までのスピードが格段に上がります。
単位テスト(ユニットテスト)を実施する
そもそも不具合を出さないための方法として、プログラムを構成している最小単位(ユニット)毎に、それがきちんと動作しているか否か、プログラムに確認してもらうという方法もあります。
JavaであればJUnitやseleniumの組み合わせなどが有名ですね。
料理を作る時に、調味料を入れる度に味見をするようなものですね。こうすることで、少しでも変な味がしたら、警告を出してくれるわけです。
人間である以上、不具合は絶対ある
そもそも大前提として、不具合がゼロになることは間違いなくありません。
どんなに優秀なプログラマーであったとしても、人間が記述する以上、ミスは必ず出てしまいます。
ただし、上記のような心がけ次第でその確率を限りなくゼロに近づけることは可能です。
絶対に出してはいけない不具合
先ほど「不具合が出るのはしょうがない」という表現を使いましたが、それでも絶対に出してはならない不具合が存在します。
それは、動作確認をとれば一目瞭然である不具合です。例えば、HTMLページの表示崩れ、フォームが動作しない…といったことです。これらはヒューマンエラーではなく、開発者の怠慢です。数十秒の作業を怠ったために、数百万の機会損失が起こってしまう可能性だってあります。
これらも、全て「心がけ」という言葉に集約されるのではないか、と思います。「不具合は出てしまうもの。しかし、出してはならないもの」という意識を保ち続けることが、不具合を出さないための最大の秘訣と言えるでしょう。