いくらNULLがバグの素だからって、スペースで埋めるのはどうかと思うんだ
上司はCOBOLの人で、データベースのカラムを全部NOT NULLにして、文字列は初期値をスペースで埋めたがる。
何かおかしい。おかしいと思う。気持ち悪い。
ねえ、そう思うでしょう?
でももっと論理的な理由を言わないと通じないので考えた。
- 使うときに必ずtrimしなければならず、面倒。
- trimされているかどうかを検証しなければならない。
- JDBCを使用した場合、「'AAA ' = 'AAA'」はtrueにならない。
- ぬるぽになるような場所ではぬるぽを起こすべき。
- 例外を発生させてロールバックした方が、気づかずに変なデータをばら撒くよりはいい。
- データの二次利用を考えた場合、データは純粋なデータとしてあった方が良い。
- スペースで埋まったカラムがあると、そのデータを利用する全てのプログラムがそれを考慮しなければならない。
- COBOLじゃないんだ、Javaなんだ。
- モダンな言語はNULLを扱うことができる。
- モダンな言語は可変長を扱うことができる。