VisualStudioの入力検証に感動した

ASP.NETの入力検証を学びました。

入力検証とは、記入すべきフォームが空欄だったり、規定と異なるデータが入力されていたりした場合にチェックしてくれる機能です。例えばWebで買い物をする場合、住所や名前を書き忘れたらエラーメッセージが出た、という経験は誰しもお持ちだと思います。

MS VisualStudioで開発する入力検証の特徴

  • ドラッグ&ドロップと、いくつかのプロパティ設定で完了
  • サーバ側とクライアント側での検証を同時に設定*1
  • 複数の入力検証のエラーメッセージを自動でまとめてくれる
  • 正規表現の典型的パターンが準備されている

できると知ってはいたけれど、いざやってみて目の前にすると愕然としました。以前Javaの研修で作ったシステムは入力検証をカリカリ手で書いていました。あのときこの機能があればどんなに楽だったことでしょう!

この入力検証という機能は、ほとんどのシステムにおいて必要とされます。パターンも決まっているため、あまり創意工夫が求められる部分ではないと私は考えています。めんどくさがり屋の私にとってはできれば他人に任せたい作業のひとつです。
この部分がコーディングなしで実装できる!すばらしい!!
パターンマッチに関しても、(私は正規表現が好きですが)やっぱりゼロから書くのはメン度が高い*2ので、典型的パターンを用意してくれてるのも粋ですね。


こういった開発環境が充実してくると、コードを書く機会が少なくなります。ここで憂慮されるのはコーディングスキルの低下です。どのようなコードで、アルゴリズムで動いているのか理解せずとも動いてしまうため、どうしても理解は浅くなりがちです。さらに理解不足から、エラーが起こった場合に原因究明が難しくなります。*3


上記のデメリットを考慮しても、以下のメリットはすばらしいものです。

  • 何といっても効率化(開発が楽)
    • 本当に創造性が必要な部分に労力を割り当てられる-未経験者のシステム開発に対する敷居が低くなる

コーディングが複雑で面倒だからと諦めていた仕様も検討できるかもしれません。プログラミングって難しそう…と躊躇していた人も、簡単にシステムを作ることができて、そこからコーディングの世界に興味を抱くかもしれません。

基本的なコードは勉強するという前提の上で、こういった開発手法はどんどん充実していくべきだと思います。*4

*1:但し、コードビハインドに多少サーバ側処理コードの記述が必要

*2:めんどくさい

*3:エラーが起こって初めて隠れたコードを読むんですよね。つくづく、エラーこそ人を成長させるものだと思う…

*4:ゆくゆくは、コーディングは全く必要なくなるのでしょうか。。いつか書きたいテーマです。