- 追加された行はこの色です。
- 削除された行はこの色です。
[[Program/Java]]
*Java コーディング規約 [#ycdd084d]
Java のコーディング規約として
+Code Conventions for the Java Programming Language (Sun が 1999年に作成)
+Google Java Style
が有名であり、いずれも checkstyle (規約エラーを検出できるツール)用の
設定ファイルが用意されています。
2018年現在、Google Java Style を基本とし、
同 checkstyle の設定ファイルを利用した方が良いと思いますが、
世の中のコードを見て若干、変更した方が良い点があります。
(いくつかは、意見が分かれますが・・・)
そこで、Google Java Style をベースに少し設定を変更した
ファイルを置いておきます。
&ref(JavaChecks.xml);
** Google Java Style からの変更点 [#hac1c196]
| ''グループ'' | ''項目'' | ''変更前'' | ''変更後'' | ''変更理由'' |
| ''グループ'' | ''項目'' | ''変更前'' | ''変更後'' | ''変更理由'' |
|Javadoc コメント->Summary Javadoc |period | . | 。|日本語コメントの場合、「.」ドットではなく「。」を使う。(Javadoc は、「.」「。」どちらでもサマリー区切りとみなしてくれるようです。 |
| ''
|サイズ違反->行の最大長 |tabWidth | 8| 4 |(※1) |
|空白->File Tab Character |- |- |設定OFF |(※1) |
|その他->TreeWalker |tabWithd | 8| 4 |(※1) |
|その他->インデント |全般 |- |2->4, 4->8 に変更 |(※1) |
※1) インデントとして4タブ利用のため。(Google Checks は 2空白)
** Tab vs 空白 について [#pbe91c0e]
-Tab のメリット
--入力が早い。
--ファイルサイズが小さい。
--インデントが正しく構成される。
---空白の場合、空白の過不足等が発生する可能性あり
---タブ、空白を表示させた際、タブは1つの表記で明確。空白の場合は個数を数える必要あり。
-空白のメリット
--エディタによらず、同じ表示となる。
--Excel にコードを張り付けやすい。(タブだとカラムが変わってしまう。)
--github 上 空白のコードが若干多い。
--空白を使う人は年収が高め(らしい。)
-その他
--2空白のコードは汚くなる傾向にあるように見える(※1)
※1) OSS を見ると(統計までは取れていないが)
2空白を使用しているコードは、ネストが深く、1関数が長くなる傾向にある。