いくらNULLがバグの素だからって、スペースで埋めるのはどうかと思うんだ

上司はCOBOLの人で、データベースのカラムを全部NOT NULLにして、文字列は初期値をスペースで埋めたがる。
何かおかしい。おかしいと思う。気持ち悪い。
ねえ、そう思うでしょう?
でももっと論理的な理由を言わないと通じないので考えた。

  • 使うときに必ずtrimしなければならず、面倒。
    • trimされているかどうかを検証しなければならない。
  • JDBCを使用した場合、「'AAA   ' = 'AAA'」はtrueにならない。
  • ぬるぽになるような場所ではぬるぽを起こすべき。
    • 例外を発生させてロールバックした方が、気づかずに変なデータをばら撒くよりはいい。
  • データの二次利用を考えた場合、データは純粋なデータとしてあった方が良い。
    • スペースで埋まったカラムがあると、そのデータを利用する全てのプログラムがそれを考慮しなければならない。
  • COBOLじゃないんだ、Javaなんだ。
    • モダンな言語はNULLを扱うことができる。
    • モダンな言語は可変長を扱うことができる。