/note/tech

「プログラマの抱いている名前についての誤謬」に関する誤謬

このエントリには直接書いてないのですが、このエントリでは要するに 名前について仮定を置くな と言っているのです。言い換えれば、 名前を入力するフィールドを「姓と名」に分けたり、長さとか文字の種類についてバリデーションするべきでない ということを主張しているのです。

とはいえ、実際にシステムを作るときには、次に3点だけは制約としてあっていい、と 個人的には 思っています。件のブログによるとこの仮定すら本当は間違っているのですが、流石にシステムを設計するときには、この3つの仮定くらいは設けないと、先に進めませんからね*1。

  • 人の名前は Unicode 16.0 で表現できる。
  • 人には1文字以上からなる名前がある。
  • 人の名前は255文字以下である(あるいは100文字以下、ないし50文字以下。正確な値はシステムの要件に合わせて決めてください)