後輩との飲みであがった話題
昨日「後輩の超実装クン」と久々に会って飲んだ。そこで出た話題はこんな感じ。
-
「単体テストの標準化」という仕事は,ドキュメントの整備ばかりで大変だ。
-
入力値のバリデーションをどのようにとらえるのかは難しい?
-
複数画面の遷移の制御をしてくれるフレームワークが増えている。今後はやはりそれが主流になる?
-
何だかんだ言って,JSFはこれから必須だ。
-
「月の雫」のテーブルに端末があり,タッチパネルで注文ができるが,きっとFlashだ。レスポンスの良さを考えると,画像は各端末にキャッシュされている?
酔っ払ってて前半何を話したかは明確に覚えていないが,確かこんなもん。
1.については,やはり単体テストは,もろドメインに依存する話になるので,汎用的な標準化は難しいだろうと。結局はテストケースの粒度を合わせることが重要だね,という話に落ち着いた。実装作業に関する標準化は,やはりあるのとないのとでは雲泥の差がでるのは言うまでもないけど,単体テストに関する標準化がどういう結果になるかは,興味あり。
2.については,「単なる必須or桁数チェック」「複数項目を使った関連チェック」「DBに問い合わせないといけないチェック」のそれぞれの扱いをどうするかについて議論。commons-validatorを使う使わないに関わらず,例えばStrutsのActionクラスにvalidateメソッドがあればいいじゃん,という僕の考えだったが,「DBに問い合わせないといけないチェック」は,ビジネスロジックを呼び出した際の引数チェックじゃねーの?という指摘を受け,もっともだと思った。きれいに自分の中で整理しきれないのは,入力チェックがドメインに依存するからか?
3.については,Shaleにしても,Easy Wizardにしても,画面遷移の状態管理をFW側がしてあげることが今後流行りそう。誰しも考えることだけど,どれもバグバグだったり中途半端なのがもどかしいところ。本当に使えるかどうかは疑問だね,と。
そうこう話しているうちに,結構俺が「JSFで実現されてるよ」と答えていることに途中で気づく。バリデーションしかり,画面遷移しかり,フォームやアクションしかり,JSFは結局よく考えられている。VBちっくなものを目指しているおもちゃではなく,真剣に取り組む必要ありだ,と。
あと,やはりメインな議題としては,お店「月の雫」のタッチパネル式の注文システムだ。これはよく考えられている。現在の金額を表示することが簡単にできないようにしてあって,でも注文は簡単にできるようにしてあり,売り上げがあがるようなUIに仕上げられていた。いいところに開発を発注したんだろうな。その話が発展し,データベースアクセスのIsolationレベルやトランザクションのネストの話になってしまうところが,技術者との飲みの醍醐味(?)である。
あとは仕事の話になってしまうので,ここでは書けません。
なかなか面白かったが,酒を飲んでるときまで頭をフル回転させていろんな技術論を語るのは,やっぱり僕(ら)は一般人じゃないんだろうな,と強烈に再確認させられた。うーん。。。
追伸(5/24): これからは「subversion」だよね,という話もしたな,確か。