2012年3月28日

ifで失敗

ここ数年、マニアックなUI製品をつかっていましたが、最近はまた普通のWebアプリを作っています。

Javaばかり使っていたので、JavaScriptとの違いには戸惑います。

こんなコードを書いちゃいました。
if (hoge) {
    // なんかの処理
} if (fuga) {
    // 別の処理
}


本当はこんな風にやりたかった。
if (hoge) {
    // なんかの処理
} else if (fuga) {
    // 別の処理
}

else忘れてもそのまま動くのです。
怖いなあ。

JavaScriptの品質上げるにはどうしたらいいんでしょうね。

2012年3月17日

アジャイルジャパン東京2012

今こそ語り合おう、AgileのABC
Agileを知り
Buisinessをつくる
Changeを起こす

今の仕事のモヤモヤ感を吹き飛ばすため、刺激を受けるため、行ってきました。

倉貫さんの東京サテライトオープニングより、
Agile is Rock'n Roll
モノ作りの原点に帰って、もっとしびれるようなソフトウェア開発がしたいのです。

人の役に立つものを作りたかったんだと、思い出しました。

いいものを作りたかったから、今日、ここに来たんだ、と。


新しい一歩を始めます。

bitデータの取り扱い

    private static boolean getBit(byte value, int bitIndex) {
        return (value & (1 << (7 - bitIndex))) != 0;
    }
    public static byte setBit(byte value, int bitIndex, boolean b) {
        byte result = value;
        if (b) {
            result |= (1 << (7 - bitIndex));
        } else {
            result &= ~(1 << (7 - bitIndex));
        }
        return result;
    }
できたコードをみると簡単だけど、なかなかすぐには思いつかない。 bitを扱うのに java.util.BitSetという便利なクラスがあった。 set()、get()の他にもBitSt同士の演算するand()、or()、xor()などがある。
ソースをみると、longの配列でデータを持ってるみたい。なるほど、それでデータの節約をしているんだね。