Dustin Boswell & Trevor Foucher『リーダブルコード』

晴。
音楽を聴く。■バッハ:ヴァイオリンと通奏低音のためのソナタ ハ短調 BWV1024 (ラインハルト・ゲーベル、ムジカ・アンティクヮ・ケルン、参照)。
何だか精神的に疲れていて、長いこと昼寝する。さて、仕事だ。
県図書館。

図書館から借りてきた、Dustin Boswell & Trevor Foucher『リーダブルコード』読了。どうすれば読みやすいコードが書けるかという本で、これは勉強になったし、おもしろかった。これはすべて身につけるべきなのであろうな。自分が苦手なのがいい名前をつけるというやつで、細かい英語のニュアンスを踏まえて名前をつけるのがどうも上手くいかない。ここいらは、英語のネイティブが有利なところだと思う(大多数のプログラミング言語では、変数や関数の名前をアルファベットで書くことになるので)。一度に複数のことをやらないというのは、これはそれほど大きいプログラムでなくともそうだと実感する。一度に色んなことをやろうとすると、小さいメソッドなどでもわかりにくいコードになってしまう。これは経験した。それから、複雑なことを短くやって、一見頭の良さそうに見えるコードでも、解読に時間がかかるようならば、あまりいいコードではないかも知れないということ。それから、普通は変数の数は少ない方がいいけれど、あんまり複雑だったら、読みやすさのために余分な変数を使うことすら許されること。なるほどなという感じ。制御フローを読みやすくするのは、これはなかなか年季が要りそう。これも「考え方をシンプルに」というのがコツなのだと思う。
 これは個人的なことなのだけれど、僕は「写経」が結構勉強になると思う。その際、わからないところは、自分でわかるように勝手に単純化すると、さらに勉強になる。これ、パズルみたいでおもしろいし。何も変えることがなければ、自分のような初心者にもわかる、読みやすいコードだということだ。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)


ははあ、JavaScript の関数について、少しわかったぞ。

var a = function(){
    return function(){
        alert("test");
    };
};
a()();

ここを見たらわかった。参照に括弧の対をつけると、関数が呼び出せるわけか。最後の一行は

(a())();

とも書くわけだ。