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