見出し画像

プログラミング初心者は「バリデーション仕様」を意識するだけでレベルが上がる|小さきアプリ屋の悩み

バリデーション仕様」というのは、アプリなどでテキストボックスに文字列を入力したときのルールのこと。

これは、日本に於ける並レベルのプログラマーなら、開発着手早々に確認する必須の仕様だ。

主なバリデーション
・文字数制限
・禁則文字(絵文字、改行、タブ、HTMLタグ)
・未入力(空白、半角スペース、全角スペース)

※それぞれの解説は後述する

しかし、企画屋や仕様屋など、開発屋ではない人たちにとっては重要ではない仕様なので(メイン・コンセプトに関係がない些細なことなので)、多くの場合、開発屋から要望しなければ、その仕様は提供されない。

なので、プロジェクトが開始されたら、着手早々にこの仕様の提供を依頼すると、彼らから「お、ちゃんと隅々まで考えを巡らせてくれる開発屋か」と意識させることができる。たったこれだけのことで、顧客からの評価が大きく上がることも少なくない。

最低なのは、試験フェーズになり、試験屋から不具合として指摘されること。「あんたら、何も考えずに開発してるのか?」と嫌味を言われ、顧客からの評価は簡単に最低になる。基本的に、試験屋から仕様の洩れを指摘されるのは最低だ。事前に仕様を隅々まで検証しなければ、開発が完成することは有り得ないからだ。「仕様が洩れているのに、何が完成したんですか?」と嫌味を言われても、ぐうの音も出ない。開発屋はとにかく、常に先手を打たなければならないのだ。

そういう意味で、まずバリデーション仕様を確認するという先手は、プログラミング初心者を一気にレベルアップさせる。実際、バリデーション仕様を確認せずに開発着手してしまって、顧客からの評価を下げている開発屋は多いのだ。


うちの会社は人材不足で、エンジニアが外国人しかいないのだが、日本の製品品質は、世界的に見ても特殊なんだと思わされることがしばしばだ。このバリデーション仕様、外国人エンジニアにとっては、それほど重要ではない。「ユーザが勝手に変な入力をしたんだろ、知らんわい」で済ますのだ。だから、うちの社内でも、「何で変なユーザの為に貴重な開発時間を割くの?」と逆に責められてしまう。確かにその通りで、深く共感できるのだが、日本で日本企業から開発を受託すると、それは品質が非常に悪い、と評価されてしまう。日本では、変なユーザの為にも時間を割いて問題を発生させないのが美徳だと思われている。そんなことに時間と金を使うなら、より有意義な機能を一つでも多く搭載すればいいと思うのだが、そういう考えができる日本企業は未だに稀だ。むしろ、ユーザの方がその点は柔軟である。


とにかく、日本人相手に何かを開発するときは、馬鹿の一つ覚えみたいに、必ず以下を意識しよう。逆に一目置かれるから。

主なバリデーション
・文字数制限
・禁則文字(絵文字、改行、タブ、HTMLタグ)
・未入力(空白、半角スペース、全角スペース)


では、以下にそれぞれ実際の事例を交えて解説しよう。


文字数制限

「文字が無限に入力できる」ということはプログラム上有り得ないが、システムの能力が許す限り入力は可能である。文字数を制限しないことの弊害は何だろうか?

ここから先は

1,106字

¥ 400

食費入力のみ家計簿アプリ「食費簿」、自慰管理アプリ「アイナーノ」、どちらも御陰様で好調です。より良いアプリ開発に役立てます。