2008-12-01から1ヶ月間の記事一覧

プラクティス

package-info.java から書くということを実践してみようかと

異常系の判断基準

id:daisuke-m と話してたことをまとめる。 元ネタはThrowableについて本気出して考えてみた - 都元ダイスケ IT-PRESS。異常が起こったとき、だいたい下の方法で対処してます。 RuntimeException系をスロー Exception系をスロー AssertionErrorをスロー (また…

気になった本

Software Language Engineering: Creating Domain-Specific Languages Using Metamodels作者: Anneke Kleppe出版社/メーカー: Addison-Wesley Professional発売日: 2008/12/09メディア: ペーパーバック クリック: 1回この商品を含むブログ (1件) を見る出た…

++age

> ++age 27

"literal".equals(s) のまとめ

3つ流派があって ぬるぽが飛ぶのが嫌だから、nullでないことが保証されるリテラルを先に書く ぬるぽが飛ばないとエラーを隠すので、ぬるぽを発生させる可能性のある s を先に書く equalsは同値比較演算で交換可能のはずなのに、順序を変えると動作が違うのは…

SunのコンパイラとEclipse JDTで動きが違う

HudsonがEclipseでコンパイルできなかったという話題が1か月前くらいにあって、その調査をしているときにjavacとJDTで微妙に動作が違う点を見つけました。 class Hoge<T> { void h() { class Foo { T t; } Foo o = new Foo(); boolean b = (o instanceof Foo); </t>…

"literal".equals(s)

なんか流行ってたので。私はs.equals("literal")派です。理由は 読みやすい 静的解析しやすい "literal".equals(s) はsにnullが認められていない時にも正常に動いているかのように見える とはいっても、プロジェクト全体でぶれてなければ問題ないとは思いま…

否定演算子が目立たない

ので、== false と書くパターンがあります。 if (hoge.isFoo() == false) { ... } 最近は上記を使っているのですが、3つくらい書けば目立つんじゃねと思った if (!!!hoge.isFoo()) { ... } たぶん偶数回しか書かないというバグを生みそうなのでやめた。