ぽぬメモ!

ただのゲーム好きオヤジ

今日の初出社という記事の続き

具体性のない、わけのわからないことで注意された。
ココの会社の幹部連中は、具体的に言えといわれても技術についてはわからないので。が口癖だ。
宴会で「どじょうすくい」でもやれば評価されるんだろうか。

このプロジェクトは前期の開発でDBだけ完成しており、CSV出力すると地味なデータ集計が行えるというものだった。
そして、今回、Webの管理画面でグラフィカル...草...などが追加され、素晴らしいシステムと化す運びである。
Webデザイナー は社外にいるらしく、なにやら画面が作られていた。
ただ、それが何を意味する画面なのかわからない。通常、Webディレクターがユースケース図などから画面ごとの役割を決め、画面の素案を作り、Webデザイナーがアホーダンスを意識し使いやすいものに仕上げる。
そののち、フロントエンジニアがHTML(を生成するビューエンジン)やCSS、イメージ素材でモックアップを作り、お客さんに確認、お客のイメージ通りなら、いよいよプログラマが動きの部分を実装していく。

つまり、ここまでが、システム屋さんが詳細設計と呼んでいる部分である。
不確定な部分が多いので、私はレビュー ファーストな開発を希望している。ドキュメントでも画面レイアウトでも同一されたコーディングルールがなければ、修正が増える。もし、レビュワーがレビューを後回しにすると、実装が遅れるか、レビュー修正が多くなるだけである。進捗資料をつくるよりもレビューを貯めないことがリーダーの役割なのだ。ところが、レビューは7月最終週に一気に行われた。指摘は10文字でも修正範囲は膨大だ。
レビューは大事ということを覚えておこう。
参考:[翻訳] コードレビューについて

実装の話をしよう。
フロント担当はJSの類で行いAjax+RESTful APIでのDBアクセスといういたって現在ではいたって普通なものである。これならば多くのプログラマが実装可能だ。
ないより、素晴らしいのはサーバーと独立しているため、「Yahoo!天気」のAPIを知れば、Yahoo側のシステムを知らなくとも天気の情報が得られる。「気象情報API」ここでもDBチームの話は出てこない。知る必要がないからだ。
ところが、DBについて詳細設計書に記述してほしいとレビュー指摘がきた。DBをアクセスするロジックを持たないのでイベントと、API、画面項目についての対応表を付けているので、DBの改定に影響されない仕様書にさせてほしいといったが、古いしきたりでDBについて書く決まりがあるらしい。
仕方なく、あってるかどうかわからないDBの項目をコピペし、肝心な画面の項目と、対応するJSONデータのパラメータ名などを書いた。するとレビュー指摘で、パラメータ名を書くと、もしDB側でパラメータ名を変更すると、仕様書を修正しないといけないから、書かないでほしい。と言われた。さっきDBについて書けと言っただろ、それにJSONのパラメータがないとJSの実装が出来るわけないだろ。
と、さすがに震え声で言った気がしないでもない。
とにかくスクリプトとネイティブコードではJSONデータを扱う速度が比較にならないからJSから扱いやすいものにしろと荒ぶる。

ところで、この仕事に就く前、間違いなくJAVAをやってほしいと言われた。まさかJSと間違えて行ってないよな。
間違えるなら、JScriptマイクロソフトのマイナースクリプト)とかにしてほしい。
そんなわけで、画面はJSのみで実装する。AngularJS1.3によるMVC構造だ。AngularJSはGDG(GoogleDevelopersNetwork)で、ある程度聞いていた。何を聞いていたかというと、難解で、学習コストが高い、大きな開発に向かない。とりあえず、少しづつ使って慣れていけばいいのではというような内容だった。
ところでAngularJS1.xは2012にリリースされ様様な問題意識はGoogleにもあるらしくAngularJS2では、大幅な改修が予定されている。
(腐ってやがる 早すぎたんだ. 焼き払え. どうした それでも世界で. 最も邪悪な一族の末えいか! わあっ!)

ちなみにメンバーでJSができるのは、1人だけで、そこのサポート要員になったようだ。しかし、なぜAngularJSなのかと聞いたところ、「jQueryが嫌いだから」という明快な答えが返ってきた。誰だってDOMを意識したコーディングなんかしたくない。ただ、Ajax周りをBackbone.jsに任せ、CSSjQueryに任せればさらにらくだったんではないだろうか。おそらくそうとうシンプルになったはずだ。
参考:「Backbone.JSからAngular2まで、全9大JavaScriptフレームワークを書き比べた!

さらには、DBのフィールド長が超適当(50文字しか入力しないのにVARCHAR(50))とかグダグダなので、
8月は荒ぶることにする。

ところで、土日の休出代ちゃんと出るんだろうな。