jFD開発したりしなかったり日誌
2008-11-20 [長年日記]
_ 寝不足
昨日の晩、隣の部屋の住人が友達を連れ込んで大騒ぎしてた。
特に女の声がけたたましく、うちまでよく聞こえてくる。
ここのところ疲れ気味で、早い時間にうとうとしてたのに全然眠れない。
結局3時くらいに直接文句を言ってきたら静かになったんで寝られた。
玄関のチャイムの音で目を覚まし、やたら眠いけどいったい何時かと時計を見たら
6時47分だった。
こんな時間にいったい何だと思ってインターフォンに出たら隣の部屋の家主で、
迷惑をかけたのでお詫びに来たそうだ。
深々と頭を下げて謝られ、今時の若い子にしてはきちんと謝りにくるあたり感心だなあ、
と思ったが、せめて午前8時以降、出来たら夜に来ていただけないでしょうか。
「わかってもらえればいいから今後気をつけてね。
でももうちょっと遅い時間に来てもらえるとありがたいな」
と話して寝直し。
ところが変に頭が冴えて眠れない。
やっと眠りに落ちた数時間後、朝っぱらから二つ隣のバカ学生が大音量でテクノを
流し始めた。
あのなあ、低音だけ聞こえてくるテクノなんざ雑音なんだぞコラ。
おかげで朝からフラフラ。
これ何て嫌がらせですか?
_ 考え方の違い
ymsrさんとペアプログラミング中、書き方で意見が合わず議論になった。
ある処理(あるイベント発生時に特定のオブジェクトの値を設定する)を行うのに、
ymsrさんがロジックの中でオブジェクトの値を設定するコードを記述するのに対し、
僕は設定される側のオブジェクトがロジックを保持してるオブジェクトに対して
値を問い合わせにいく実装を推して、意見が合わなくなった。
ymsrさんのコードの方がトータルのコード量は減るが、僕としてはその処理がロジックの
メインの処理と感じられなかったのでロジックの中にその処理を入れるのが嫌で、
分割してしまう方が綺麗だと思った。
ぶっちゃけ、小さいコードなんでどっちが採用されても本当は構わないんだが、
この書き方は今までの10年以上のプログラマ生活で自分に科したルールに絡んでくるので
簡単に相手の意見に合わすことも出来なくて、ymsrさんも譲れないみたいなんで
だんだん不毛な議論になっていた。
僕は、ロジックがターゲットのオブジェクトを設定するよりも、ターゲットのオブジェクトが
自主的にロジックに問い合わせて自分自身を設定するようなコードを好む。
そっちの方がコード量は増えるが、ロジックとターゲットの独立性が高くなり、不要になったときに
簡単に付け外し出来る。。
また、ロジックをコンパクトに出来るので、僕みたいな記憶力の低い人間には理解が容易い。
これはメンテナンス性と自分自身の記憶力の無さと相談して身につけたスタイルで、完全に体に
染みついてるのでコードを書くときにはとっさに出てくるが、なんせ体に身についてるだけで
人に語る機会が滅多に無いんで、議論では根拠がとっさに出てこず、少々悔しい思いをする。
ここ1週間ほどymsrさんと一緒にコードを書いていて、お互いのコードの価値観の違いが
見えてきたように思える。
ymsrさんは短い単純な実装を良しとし、僕は少しくらい(程度の問題だが)長く複雑になっても
独立性、メンテナンス性の高いコードを良しとする。
最優先としてる物が異なり、お互いそれを疑ってないのだからそりゃ議論もまとまらないわ。
こういう状態になったときに決定するためのルールを作っておかないと、数十行のコードのために
数時間かけることになってしまう。
ボクシングみたいにジャッジが3人くらい欲しいなあ。
_ 自分のコードの好み
しばらく考えていたが、僕が好むコードのスタイルは、エージェント指向的なコードなんだと気がついた。
ビジネスロジックがターゲットオブジェクトを操作してあげるのではなく、ターゲットオブジェクトが
自主的に自分自身を操作するコードを美しいと感じる。
そういう独立性の高い自主的なオブジェクトが多数集まり、協調してるコードが好きだ。
こういうコードは各パートの独立性が高いので、足すのも引くのも簡単だし、コードが分離してるんで
一度に気にする部分が小さいのが良い。
ベタベタなコードよりは長くなるが、短くするのはメンテナンス性を上げるためなので、
メンテナンス性が上がればコードが長くなってもいいと思ってる。
これは自分の脳みその性能との相談で出来上がったスタイルなんで、他の人にとっても最上の
スタイルかはわからない。
みんながこういうコードを書けばいいんだが、みんな僕より脳みその性能高いからなあ・・・
_ Winter Boardは入れちゃいけない
iPhoneは、ハックするとApp Storeで配布されてる公式アプリではない勝手アプリが
インストールできて、このハックはJailbreakとか脱獄とか呼ばれている。
公式アプリは色々と制限があり、またAppleの評価を通らないと配布することが
できないという制限があるので、Jailbreakは非常に便利なんだが、そんな勝手アプリの中に
iPhoneの見た目を変えてくれるWinter Boardというソフトがある。
たくさんの人がおびただしい量のスキンを作ってくれていて、普通にオシャレで格好いい
スキンもあれば、昔懐かしい元祖ゲームボーイ風とか、自動販売機風とかがあって
なかなか楽しいんだが、先ほどこれをアンインストールした。
実はすんげえメモリ喰らいで、これが入ってるおかげでメモリが足りなくなって
Safariがスコンスコンと落ちまくっていたことが判明した。
ちくしょー、お前のせいで何ヶ月も苦労してたのかー!
今まではmixiを見ると数画面で必ずブラウザが落ちていたのだけれど、Winter Boardを
消したら全然落ちなくなった。
うう・・・
見た目が楽しいのはいいんだけど、それ以前に不便になっては仕方がないんでもう要らんわ。
_ 喰霊・零
秋から始まったアニメの喰霊・零(これでガレイゼロと読むそうだ)をトシコさんに
超プッシュされたんで、とりあえず第1話を見てみた。
あ、ネタバレありますんで知りたくない人は今のうちに閉じてください。
悪霊がいる未来の日本で、自衛隊みたいな軍隊がドンパチやって悪霊を倒すんだけど
強力な悪霊が現れて部隊全滅、そこにハンサムなお兄ちゃんとお姉ちゃん(主人公?)の
所属する特殊部隊が現れて凄い力と装備で悪霊をやっつけてわーいやっつけたぞー、
と思ってたんだけど悪霊がよみがえりさらに強力になって大ピンチ。
それを知恵と勇気でやっつけてバンザーイという内容で、
「んー、悪くはないんだけどトシコさんが薦める理由がいまいちわからん」
と思いながら見てたら、ラスト3分で日本刀を持ったセーラー服のお姉ちゃんが全員
惨殺しちゃったんで口ポカン。
え?
あいつら主人公じゃなかったの?
全員死んじゃったんですが?
実はあいつら前座で、このセーラー服が主人公?
ちょっとビックリしたんで拍手。
面白いかどうかはまだわからないが、驚かせてくれただけでとりあえずは満足。