長期にわたるコードの査読は消耗する2008年05月22日 15時58分49秒

今、潜在的な問題を洗い出す為にコードの査読を続けている。 簡単に探している問題を例えると、二千年問題の様な感じだ。今まで、英語大文字に限定されていた文字列の大きさと許される文字コードを増やす。年号の桁数を二桁増やす必要があったのが二千年問題だ。約十万行超を査読した。

バグの修正や機能の追加程度だったら、大した事無いのだが、システム全域に渡る可能性のある変更なので全てのコードを調べなければならない。また、テストを行う前に全ての変更点を洗い出して、修正してから始めたいとの事だ。これは、ただの無謀でしかないと思う。

元々のシステムのデザインはよく出来ていたわけでもなく、またコーディングの技術も低い。しかも、手軽なシステムやプロセスに関する文書も存在しないので、コードを査読しながら各プロセスが何を行うかを理解しなければいけない。言ってみれば最悪のコード査読環境だ。それなりに古いコードで人の出入りがあったとはいえ、書いた本人たちも判らない部分が多々ある。また、量も多いので長期戦も必須だ。

このような最悪の状況で作業を進めるのは物凄く消耗する。そこで、一日の量も三千行から五千行程に抑えて、余裕をもって作業を進めていかないと終わる前に力尽きてしまう。関数を調べるにしても、呼び出し元と他との関係なども調べていると結構時間をくう時もある。それに加えて、他人の流儀で書いたコードは慣れるのに少々時間がかかる。

元々、他人の書いたコードを紙面だけで点検するのを好きだと言う人は見た事が無い。そして、結果として何も生み出さなかったとしても、手間と精神力を使う重労働だ。数千行程度だったら、それでも一日、二日で終わる。それが、十万行に及ぶ量を査読するとなると何週間単位となる。毎日そんな事を続けていると、日々疲労も蓄積して、早い時など半日が過ぎたぐらいでもコードを見ていても何が書かれているのか分からなくなってしまう事もある。

査読も長い事続けていると疲れてしまう。そうなると、目にはコードが映っているのに理解出来なくなる。文章を読んでいても、個々の単語は理解出来るが、文章が理解出来ない。個々の文字は見た事あるのだが、繋がると文字ではなく紙や画面の染みにしか見えなくなる。そうなると、その後の作業からは何も期待出来ない。

この疲労感が結構強烈で、最近は怠惰感が拭いきれない。