読者です 読者をやめる 読者になる 読者になる

リーダブルコード

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

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


よかったです。

プライベートメソッドやローカル変数の名前の付け方やコメントの書き方というのは、すごくその人のセンスが試される部分だと思います(コーディング規約以上モデリング未満という感じの部分)。大部分はこだわりを持ってコードを書いていれば、自然と身についていくものだとは思いますが、たまにこういう本を読むと、できていること、わかっているけどサボっていること、などが明らかになって、綺麗なコードを書こうというモチベーションが上がると思います。

min/maxが境界値を含むのはよいのですが、begin/endのendが境界値を含まないのはイディオムなんですね。JavaのString#substringなんか、いつも少し迷います。

あとはgetXXX()が軽量アクセサであるというのが暗黙の規約だと意識はしているのですが、結構DBからデータを取り出すコードでも使ったりしていました。。

適切な単語を選択するというのは英単語の意味がイメージできないと難しいので、もう少し英文に慣れていて、自然とある状況に対して適切な単語の候補がスラスラと思いつくようにになりたいものです。

この本とは関係ないですが、、Javaだとよくpublic static final int/Stringで定数を定義して引数に使うコードを見ますが、、これもわかりづらいと思います。Java5より前の習慣だと思いますが、enumを使う場合に比べると、どこで定数が定義されているかとか、値の範囲が直ぐにわからないので。concurrentパッケージのTimeUnitみたいなAPIが好きです。