jFD開発したりしなかったり日誌
2004-12-26 [長年日記]
_ 自分の目が見てるものが信じられない
土曜日、10時半まで仕事して行きつけのスナックの忘年会に行ったら、
ママ(50歳)がセーラー服を着ていた。
しかもやたら丈が短くて少しでも腰を曲げると腹と背中が出そう。
というか出ていた。
入り口で硬直。
その上、おニャン子クラブの「セーラー服を脱がさないで」をみんなで熱唱。
慣れるまで約15分、まともに見ることが出来なかった。
さらにその格好でタバコ吹かされると、スイカに塩を振るみたいに
きつさが際立った。
日曜も休日出社なので一時間くらいで帰宅したが、翌朝悪夢で目が覚めた。
_ 砂浜に撒かれた針に糸を通すような修正作業
つらいよーつらいよー
一つの機能を足すのに書き足した行数は100行ないのに、それが14クラスにまたがってるって
どういうことよ。
こんなのソース全部理解しなきゃ修正なんて出来ないよ。
クラスで分けてる意味ないじゃん。
同じ意味の定数がいくつもあるし、実質同じ意味の巨大if文がそこら中のクラスにあるし
あーもう・・・死んじゃえ。
2004-12-25 [長年日記]
_ こんなコードを見た
こんなの。
try {
// 適当な処理
} catch (XXXException e) {
// eに対する処理(ログ出力)
throw new XXXException(e.getMessage());
}
2004-12-24 [長年日記]
_ サンタさんにお願い
ちょっとそこに靴下干しておきますんで、クリスマスプレゼントに512メガほど
メモリを頂けないでしょうか。
ThinkPadで使える奴で。
開発ツールだのサーバーだの自作ツールだのワードだのエクセルだの
DBフロントエンドだのエディタだのブラウザだの2chビューアだの
開いてたら、使用メモリが実メモリの1.5倍超えちゃってるんですよ。
早く仕事終わらせて帰りたいんで。
_ ぼやくぞ
else if禁止。
とまでは言わないが、3つ以上のelse if禁止。
受け取ったパラメーターによって動作を切り替えるのにそこら中でelse ifが
乱れ飛んでいるが、こんなもんはstrategyパターン使えばそもそも要らないんだよ。
おかげで新しいパラメーターが増えたら全部の処理追って、中身見ないとわからないじゃないか。
勘弁しやがれ、このヘタクソ。
_ 今更気がついた
finally節の中でreturnしてはいけない。
public class Test {
public static void main(String[] args) {
try {
method(); // ここで例外が投げられるが
} catch (Exception e) {
// ここには来ない。
}
}
void method() throws Exception {
try {
throw new Exception();
} finally {
return;
}
}
}
2004-12-22 [長年日記]
_ ルール
コードを変更する際、古いコードをコメントアウトし、
さらに変更箇所をコメントで囲まないといけないというルールがある。
本来理解の助けとなるはずのコメントがノイズになって、
そうでなくても読みづらいコードがさらにグチャグチャになり、
既に僕の脳味噌では理解不能になってる。
さらにインデントがグダグダなのを修正するのすら面倒な手続が必要で
面倒くさくなって変更を最小限にするようになる。
おかげでソースはウンコにウンコを塗り重ねたような状態。
しかもよく見るとウンコの山に小さい旗がいっぱい刺さってて、
「○月×日分ウンコby山田」とか書いてあるのな。
_ ウンコ繋がりでお気に入りの言葉
「カレーをウンコにするのは簡単だけど、ウンコからカレーは出来ない」
綺麗なソースを理解してない奴が修正することでゴミにしてしまうのは
しょっちゅうだけど、グチャグチャのソースから綺麗なソースが出てくることはまず無い。
まあ、最近はリファクタリング技術も発達してるし、以前よりはましだろうけど。
考えてみれば当たり前の話で、これってエントロピーの法則なんだよな。
綺麗なソースはエントロピーが低く、グダグダソースはエントロピーが高い。
グダグダソースを綺麗にするというのはエントロピーを減少させるということで、
当然エネルギーが必要となるがそのエネルギーが足りないんで世の中グダグダソースだらけになる。
きっと宇宙が熱的死を迎える頃のソースは全部グダグダなんだろう。
2004-12-21 [長年日記]
_ 洋書
晩飯ついでにBook 1stまで歩いてきた。
先日VisualClipが賞を取ったのだが、主催したPC MAGAZINEというアメリカの雑誌が
現地の発売から3週間過ぎていたので、そろそろ入荷してるだろう、と踏んで
買いにいってみた。
雑誌自体はあったんだけど、記事が無い。
12月号と書いてあったが、
「アメリカも日本みたいに1月号が12月に出たりするのか?」
と思って店員に尋ねてみたら向こうもそうらしい。
船便なんでよく数週間単位で遅れるんだそうで、まだ届いてないとか。
あらま。
年明けにまた来よう。
_ あーもう
スクリプトレット多すぎだ!
Java、HTML、Java Scriptが入り混じって読めたもんじゃねえ。
JSPってのはただの静的なリソースファイルだ。
ソースは.javaファイルに書けっての。
2004-12-20 [長年日記]
_ 迷い
jFD2は不完全ながら既に動いていて(でもあと数ヶ月は公開できません。悪しからず)、
自分個人では既に半実用的に使っているのだけれど、使ってて自分の実装方針に
迷いが出てくる。
やっぱパフォーマンスがイマイチ。
今回は親の仇のようにオブジェクト指向を使いまくり、
「お前もだー!お前もだー!お前もオブジェクトだー!」
とばかりにオブジェクト指向で作ったら確かに拡張性の高さは我ながら満足できる出来で、
クラスどうしの結合は3年前に買ったパンツのゴム紐のようにユルユル、
ミスターオクレから伊集院光まで誰の尻でも納めます状態だけど軽快さは減ったなあ。
そうでなくてもJavaだから重いのに。
自分の実装は正しいのかな。
悩む。
2004-12-18 [長年日記]
_ 今日のボクシング
門下生の小学生がいて、遊んであげてたら熱くアニメの話をされて
練習になりません。
僕は適当に相槌打ちながらパンチングボール叩けるほど器用じゃありませんて。
会長が来て、
「ごめん、すっかり言うの忘れてたんだけど、
今日サーティーズの飲み会あるけど来る?」
とのこと。
サーティーズとは新田ジムの三十路組で、もうプロになれない緩い方々の集い。
いい機会なんで参加した。
時間までコード書いて時間を潰し、会場の飲み屋へ。
前回のスパーリング大会で試合したKさんと格闘技の話をした。
テコンドーって元々空手だったの?
知らなかった。
路上で強い格闘技は何かという話になり、柔道じゃないかということになった。
確かにアスファルトに背中から落ちたら勝ち目無いな。
2004-12-17 [長年日記]
_ タイ料理
仕事を8時半で切り上げて帰宅。
溝の口に寄っていった。
ゲーセンで鉄拳と虫姫様をやって、本屋で文庫本を購入し、
お気に入りのコピーピーへタイ料理を食べにいった。
普段だいたいガイカップラーカオという肉野菜炒め目玉焼きライスを
食べてるんだけど、我ながら芸が無いと思ったので
今日はタイカレーにしてみた。
僕は辛いのが好きなんだけど大苦手で、店員のお姉さんに先に
水を頼んでおいたらジョッキで持ってきてくれた。
食べたらやっぱりすごく辛い。
水をガブガブ飲むので水でおなかがいっぱいになる。
店長のタイ人のおじさんと初めて話したんだけど、今度タイに行くつもりだと
話したら色々教えてくれた。
バンコクなら中華料理や日本料理もあるから、辛いのがダメでも
大丈夫だそうだ。
オッケー、これで飢え死には免れた。
2004-12-16 [長年日記]
_ 茶箱
仕事後、久々に顔を出した。
けっこうな盛況で、お客さん一杯。
めずらしくかとぅさんが居て、雑談した。
仕事が決まったそうだ。
誰だったか忘れたけどPSPを持ってきた人がいて、
触らせてもらった。
リッジレーサーズが動いていたのだけど、たしかにこの大きさで
この画面はものすごく説得力がある。
むは、欲しい。
でも来月以降だなあ。
目を離していたら「布団祭り」の話で激しく盛り上がっていたのだけど、
あまりに盛り上がりすぎて今更布団祭りの正体が聞きづらくて切なかった。
一体何なんですか?
その後、気がついたら時間が激しくやばくなってたんで、
飛んで帰宅。
あ、食器もらってこようと思ってたのに忘れてた。
_ 布団祭り
布団祭りが何のことかわからなくて調べてたら出てきた。
http://dodo.isa-geek.org/Log/AA3/FutonMa02.html
http://dodo.isa-geek.org/Log/AA3/FutonMa03.html
http://dodo.isa-geek.org/Log/AA3/FutonMa04.html
_ 飯がまずい
初めて無洗米を買ったんだけど、どうやってもうまく炊けない。
水加減を変えてみたりもしたんだけど、どうにも艶々してくれない。
どうやったらまともに炊けるか教えてください。
もしもこれが無洗米の限界なら、開発した奴はお米様に謝れ。

_ himitsu [スタックを握りつぶすのは論外ですが、throw e;も無意味ですな]
_ Shunji [例外が発生したらログ吐いてから例外を投げたかったみたいなんですよ。 ただ、throw e;にしても、今度は呼び出し側..]