unhurried

コンピュータ関連ネタがほとんど、ときどき趣味も…

Google Java Style Guide

Googleが様々な言語のコーディング規約(Style Guide)を公開していることを最近知りました。Javaのコーディング規約についてざっと見てみて、興味深かった点をまとめました。

2 Source files basics

非ASCII文字をコード中に記述するときにUnicodeエスケープするかどうかは、どちらの方が理解しやすいかによる。(2.3.3 Non-ASCII characters)

String unitAbbrev = "μs"; // "\u03bcs"とすると理解しにくいためUnicodeのまま記述する。

3 Source file structure

ワイルドカード * を使ったimportstatic かどうかに関わらず使わない。(3.3.1 No wildcard imports)

4 Formatting

iffor などで使うブレース {} は中身がからであっても省略しない。(4.1.1 Braces are used where optional)

空でないブロックは下記のようにK&Rスタイルで記述する。(4.1.2 Nonempty blocks: K&R style)

if (condition()) {
  method();
} else if (condition()) {
  method();
}

iftry などで複数ブロックで構成されていない限り、空のブロックは {} と簡略化できる。(4.1.3 Empty Blocks: may be concise)

インデントには2つのスペースを用いる。(4.2 Block indentation: +2 spaces)

1行は100文字以内に収まるようにする。(4.4 Colum limit: 100)

1行が長い場合に改行するときは4文字以上のスペースを入れる。(4.5.2 Indent continuation lines at least +4 spaces)

予約語 ( for など) と ( の間、}予約語 ( else など) の間、{ の前にはスペースを入れる。(4.6.2 Horizontal whitespaces)

5 Naming

特別な意味を持つプレフィックスやサフィックスは使わない。例:name_mName (5.1 Rules common to all identifiers)

略語など一般的に大文字で構成される単語もキャメルケースにする。例:XmlHttpRequest (5.3 Camel case: defined)

既にキャメルケースで広まっている名称はそのまま残してもよい。例:YouTubeImporter (5.3 Camel case: defined)