今時JavaでValidatorって自作するの? | Javaプログラマー資格試験(OCJ-P) WEB講座

Javaプログラマー資格試験(OCJ-P) WEB講座

Javaプログラマー資格(OCJ-P)を学習するブログです。

OCJ-P・Javaプログラマー資格をとりたい。
Javaプログラミングの入門者・初心者。

そんなあなたに、Javaプログラマー資格の取得に役立つ本質的な知識を、
分かりやすく解説していきます。

バリデーションはめんどくさい。
バリデーションは疲れる。
バリデーションの単体テストはもっと疲れる。



今のプロジェクトでは、バリデーションの仕様として、
入力チェック仕様書をつくっているんです。


そこに半角カタカナはこの正規表現、全角漢字はこの正規表現。
という風に逐一定義してるんです。


それってどうなんでしょうね?ぶっちゃけ、いらないんじゃね?
って気がします。


 というのも、普通、フレームークにバリデーションクラスってついてますよね?
ValidatorUtilとかそういうの。だいたいあるじゃないですか?
それを使えばいいじゃないですか?


なければ、Commons Validator とか使えそうじゃない?
これって日本語にも対応しているんでしょうか?
日本語は全角とか半角とか漢字ひらがなカタカナあって、
非常に複雑になってきますね。


そういうのをもう全パターン網羅したようなValidatorクラスがあれば、
業務系アプリ業者が買ってくれたりして?


わざわざ自前のバリデーションメソッド作る必要ある?
単項目チェックなんて、どのプロジェクトでもやるんだから、
共通のライブラリを使うのがいいと思う。


むしろ自前で作ることによって、バグ発生の可能性が増える。


実際、今のプロジェクトでもチェック仕様書はあるけど、
会社が用意しているstruts2ベースのフレームークが、
標準で用意しているバリデータを使ってしまっているし。


問題といえば、私がこのフレームークにバリデータがあるって知らなかったこと。


基本設計・詳細設計フェーズのリーダーはシステムには詳しくなかったので、
チェック仕様書をわざわざ作らせた。


もし私がこのフレームワークにバリデータが標準でついていることを知ってたら、
「そんなの作らなくても、標準のバリデータがあるのでいりませんよ!」
と言って止めていたでしょう。



 でも後になってこうなる気がする。
お客さん「チェック仕様はチェック仕様書の通りやってますよね?」
開発  「フレームワークのバリデータ使っています。」
お客さん「それじゃあチェック仕様書作った意味ないじゃないですか。仕様書通り実装しないと仕様書の意味がないですよ」
開発  「わかりました・・・・。」


あまりお客さんが、バリデーションにこだわらない人であることを期待する。