バリデーションはめんどくさい。
バリデーションは疲れる。
バリデーションの単体テストはもっと疲れる。
今のプロジェクトでは、バリデーションの仕様として、
入力チェック仕様書をつくっているんです。
そこに半角カタカナはこの正規表現、全角漢字はこの正規表現。
という風に逐一定義してるんです。
それってどうなんでしょうね?ぶっちゃけ、いらないんじゃね?
って気がします。
というのも、普通、フレームークにバリデーションクラスってついてますよね?
ValidatorUtilとかそういうの。だいたいあるじゃないですか?
それを使えばいいじゃないですか?
なければ、Commons Validator
とか使えそうじゃない?
これって日本語にも対応しているんでしょうか?
日本語は全角とか半角とか漢字ひらがなカタカナあって、
非常に複雑になってきますね。
そういうのをもう全パターン網羅したようなValidatorクラスがあれば、
業務系アプリ業者が買ってくれたりして?
わざわざ自前のバリデーションメソッド作る必要ある?
単項目チェックなんて、どのプロジェクトでもやるんだから、
共通のライブラリを使うのがいいと思う。
むしろ自前で作ることによって、バグ発生の可能性が増える。
実際、今のプロジェクトでもチェック仕様書はあるけど、
会社が用意しているstruts2ベースのフレームークが、
標準で用意しているバリデータを使ってしまっているし。
問題といえば、私がこのフレームークにバリデータがあるって知らなかったこと。
基本設計・詳細設計フェーズのリーダーはシステムには詳しくなかったので、
チェック仕様書をわざわざ作らせた。
もし私がこのフレームワークにバリデータが標準でついていることを知ってたら、
「そんなの作らなくても、標準のバリデータがあるのでいりませんよ!」
と言って止めていたでしょう。
でも後になってこうなる気がする。
お客さん「チェック仕様はチェック仕様書の通りやってますよね?」
開発 「フレームワークのバリデータ使っています。」
お客さん「それじゃあチェック仕様書作った意味ないじゃないですか。仕様書通り実装しないと仕様書の意味がないですよ」
開発 「わかりました・・・・。」
あまりお客さんが、バリデーションにこだわらない人であることを期待する。