[[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関数が長くなる傾向にある。

トップ   一覧 検索 最終更新   ヘルプ   最終更新のRSS