MOTHER3

最近PS2を片付けたりして、社会人としての本分を忘れてしまっていたので、RPGでもやろうと思ったのだった。

パーティーが四人になったところらへん。四人になったとたんに戦闘がめんどくなるという。
パーティーは2,3人くらいがMAXで、あとNPC1人とかでいいと思った。(←もうゲームする資格ない)いや、でも、ほら、四人もいると役割かぶるやつがいるじゃないですか?MOTHER2でいうところのネスとプーとか。うん、まあ。


今のところよいです。(って、まあ、最近はよいですといいつつ、途中で放棄してるゲームいっぱいあるんだけど。)
何章かに分かれてて、ひとつの章が2時間で終わるペース。となると、つまり、2時間やってればなんかイベントが起こって話が進むのでテンポがよい。あとはまあ、以下、ネタバレ→(と、いいつつ、面倒になったので書かないという

それと、街の人に話しかければ、とりあえずくだらないことを言うようになってるというのは、地味ながらも重要だなー、とかそういうことを思ったのだった。

とりあえず、仕様決めとかをやってた。仕様決めるのは微妙に楽しいとか思ったりする。最終的にはAPI決めるだけなので、非常に簡単なのだけど。

んで、仕様決めてると、まあ、疑問点とかも出てくるので、質問を投げたら、回答が、大体のところ、「任せます」みたいな感じであった。


はてさて、この担当者の人は、ソフトウェア開発で悲惨な目にあったことは無いのだろうか?とか、考えてしまった。
発注する側からみた場合、成功する/悲惨な目にあう、のラインは、「まともな仕様を出せる/出せない」にあると思うのだけど、まあ、そういうのは考えたりしないのか。まあ、もちろん、こっちは仕様の良い悪いにかかわらず、最善をつくすべきではあるけど。でも、まあ、若干不安になるところではある。
Q. 使用するメモリ量などに制限はあるでしょうか?
A. 特に制限はございません。
さて、この場合、非常識な量のメモリを使うプログラムができた場合、それは仕様どおりのプログラムだと言える?


まあ、もちろん、こっちはソフトウェアの専門家で、詳細はこっちのほうが知ってるので、仕様を発注側に決めさせてるのが問題で
Q. 使用するメモリ量は全体で8MBほどになりますがよろしいでしょうか
A. 8MBならば問題ないです
で、仕様を8MBとするとか、まあ、なんとか。


これは、あれだなー。「説明する側と、説明聞く側のどっちがコミュニケーション能力が低かったのか?」問題みたいなもんだよな。
いや、別に結論とかは無いのだけど。

余談として、コードを一行も書かないで仕様決められるか?見積もりできるか?という部分はプロのプログラマとアマチュアプログラマを分けるラインでは?と思う。まあ、そこらへんは気が向いたら書く

また、微妙なコードを見かけた。
http://d.hatena.ne.jp/w_o/20060720#p4 のぱっと見は見やすいけど、読みにくいソースコードの話の続きみたいなあんまり関係ないみたいな。


なんというか、組み込みひとすじベテランの人がアプリケーションを書いた場合のよくあるパターンみたいなのがあるのかむしれない。

  • Proto.hとかFunc.hとかを作ってプロトタイプ宣言を一個にまとめたがる
  • Types.hとかStruct.hとかを作って(ry
  • 複数の関数にまたがって操作される対象をグローバル変数に入れる
  • タスクとかスレッド間をグローバル変数でやりとりしたがる
  • なぜか微妙にハンガリアン

まあ、大体は実際のところ大きな問題にはならないのでいいんだけど、操作対象をグローバル変数に入れるのはやめてほしいよなぁ…そこらへん、オブジェクト指向の基本部分ぐらいはしっておいて欲しいと思わなくも無いけど、まあ、それでも問題になることは少ないのでまあいいのかなー?
(ここで、斜めに構えるならば、仕様変更が発生したときに変更量が増えるのは工数稼ぎになるので悪いことではないとか書いておくとよい)

アプリケーションばっかやってるひとでも、低レベルなところを知るべき、というのと同じように、組み込みばっかやってる人も、まあ、そういうアレがあるかもしんない。