「負債」で無いもの
- 一つだけの関数の「実行」と、
- その前後に有る「準備」と「確認」
からなる「テスト」は、まさか「負債」呼ばわりはされないと思います。
「負債」呼ばわりされるコードとは、それとは様相を異にする物でなければならないと、思います。
「負債」とは?
以下、「『』」で囲われた言葉は、前出の
に書いてある用語とします。
「負債」とは、
- 『因果ダイアグラム』*1で表現される、
- 『原因』と『結果』の連なりで、
- 『原因』から『結果』を推論するのは比較的容易だが、逆は非常に困難であるという性質から、
- 逆を強いられる人間にしてみると、正しく「負債」にしか見えない
ものだと思います。
具体的には、現時点では2種類思いつきましたので、述べます。
「負債」の例
- 「テスト」より、より負債的な(実際の規模の)プログラムでは、
複数の関数が、『因果ダイアグラム』の様に、「絡み合い」ながら呼び出され、しかしプログラム言語は上から下へ、並べて書くより無いので、その「絡み合い」は明記されておらず、
解読しようとする人間が手間暇かけて、多量の誤解含みで読み解く必要が有る。 - プログラムを書く『原因』と、
『結果』としてのプログラム
に関する、『因果ダイアログ』は文書化される事が稀で、
『結果』としてのプログラムのみから、『原因』を導き出す事が禁止的に困難。
なので、(そこまで文書化されていない通常の)ブログラムは「負債」に他ならない!
という2種類は(少なくとも)有ると思います。
結論
これからも「因果推論に関する教示」を周りの人にされる事でプログラミングが嫌いになる人は存在し続けることでしょう。