ソースコードのバランスシート

バランスシートには、資産、負債、純資産の項目があり、資産=負債+純資産が常に成り立ちます。さて、いまここにあるソースコードを資産だと思いましょう。すると、それは負債と純資産からなっている、ということになります。

では、ソースコードにおいて、負債や純資産とは何でしょう。

負債は後で返さなければならないものです。借りっぱなしにしておくと、利子が発生します。ソースコード上でこれに対応するのは、汚いコード、ゴミコード、やっつけ仕事のコードです。これは、とりあえずソフトウェアを動かすには必要なことがあります。借金のおかげで急場をしのげて助かった、そういう経験がある人もいるでしょう。ですが、負債なので、あとで返済しなければなりません。世の中には、技術的負債という単語があります。まさにそういうことです。

ここで少し注目したいのは、コードにも利率が存在することです。本当のゴミコードは、ヤミ金の如く利率が高く、真っ先に返済しなければなりません。後で問題になるかもしれないけど、まあしばらくは問題が起きないだろうというコードもあって、こちらは利率が低いので後回しでも構いませんし、実際に後回しにされます。

純資産とは何でしょう。これは、問題が起きにくいコード、きれいなコード、よくテストされたコード、などとなります。ここで面白いのは、純資産にも利子が存在することです。純資産が溜まっていくと、その部分のコードは問題がおきにくく、それに依存したコードの開発が加速します。これは非常に良いことで、こういうコードをたくさん積み重ねていくことで、企業にとっての価値になるでしょう。

純資産の方には、技術的負債のような単語を見つけることができませんでした。何か良い言葉、ありますか?

2011-02-09