Skip to content

Commit 2459dfc

Browse files
committed
PR160の内容を翻訳。推敲まだ  google/styleguide#160
1 parent be01037 commit 2459dfc

File tree

1 file changed

+24
-13
lines changed

1 file changed

+24
-13
lines changed

GoogleJavaStyle-ja.textile

+24-13
Original file line numberDiff line numberDiff line change
@@ -240,18 +240,19 @@ import文は *改行してはならない。* 文字数制限(4.4節 "文字
240240
h4(#s3-3-3-import-ordering-and-spacing). 3.3.3 順序と空白
241241

242242

243-
インポート文は以下のグループに以下の順序で分けられる。グループは1行の空行で分離される
243+
インポート文は順序で並べられる
244244

245-
# すべてのstatic importを単一のグループにまとめる。
246-
** static import は static ネストクラスには使えない。通常のimportとして以下の適切なグループでimportされる。
247-
# @com.google@ のインポート。(ソースファイルが @com.google@ パッケージに属する場合のみ)
248-
# サードパーティのインポート。トップレベルパッケージ毎に1個のグループとしASCII文字の順序で
249-
** 例: @android, com, org, sun@
250-
# @java@ パッケージのインポート
251-
# @javax@ パッケージのインポート
245+
# 単一のブロックでの全てのstaticインポート。
246+
# 単一のブロックでの全ての非staticインポート。
252247

248+
もしもstaticインポートと非staticインポートの両方があるなら、一つの空行が両者を分離する。import節に、他の空行は存在しない。
249+
250+
各ブロック内で、importされた名前はASCII順序で並べられる。
251+
( *注釈:* このことはインポート文全体がASCII順になっていることと同じではない。セミコロンがあるとソート結果は変わってしまうからである。)
252+
253+
一つのグループ内に空行は入らない。なおかつインポートした名前はASCII順に並べなければならない。
254+
( *注釈:* このことはインポート文全体がASCII順になっていることと同じではない。なぜなら '.' は';' より先にソートされるからである。
253255

254-
一つのグループ内に空行は入らない。なおかつインポートした名前はASCII順に並べなければならない。( *注釈:* このことはインポート文全体がASCII順になっていることと同じではない。セミコロンがあるとソート結果は変わってしまうからである。)
255256

256257
h3(#s3-4-class-declaration). 3.4 クラス宣言
257258

@@ -293,6 +294,12 @@ h4(#s4-1-2-blocks-k-r-style). 4.1.2 空でないブロック:K&Rスタイル
293294
例:
294295

295296
<pre>
297+
return () -> {
298+
while (condition()) {
299+
method();
300+
}
301+
};
302+
296303
return new MyClass() {
297304
@Override public void method() {
298305
if (condition()) {
@@ -365,7 +372,7 @@ h4(#s4-5-1-line-wrapping-where-to-break). 4.5.1 どこで改行するか
365372
改行の第一原則は、 *高い文法のレベル* で改行することである。また、
366373

367374
# 代入でない演算子で改行するときは、シンボルの前で改行する。(これはJavaScriptやC++のような他の言語のGoogleスタイルの慣習とは異なることに注意すること。)
368-
** このことはドット演算子( @.@ )や、型演算子の&記号( @<T extends Foo & Bar>@ )や、catch節でのパイプ記号 ( @catch (FooException | BarException e)@ )といった演算子のようなシンボルにも適用される。
375+
** このことはドット演算子( @.@ )や、メソッド参照でのコロン2個( @::@ )や、型演算子の&記号( @<T extends Foo & Bar>@ )や、catch節でのパイプ記号 ( @catch (FooException | BarException e)@ )といった演算子のようなシンボルにも適用される。
369376
# 行が代入演算子で改行されるときは、通常シンボルの後ろで改行される。しかしどちらの方法でも問題はない。
370377
** このことは拡張 @for@ ("foreach") 文の「代入演算子のような」コロンにも適用される。
371378
# メソッドやコンストラクタ名に続く開始括弧( @(@ )は直後に続いて書かれる。
@@ -392,7 +399,7 @@ h4(#s4-6-1-vertical-whitespace). 4.6.1 垂直の空白
392399
** *例外* :enum 定数間の改行は 4.8.1. 節で議論される
393400
# ステートメントの間で、コードを論理的にグループ分けしたいため。
394401
# 必要な場合、クラスの最初のメンバーの前と最終メンバーの後。(推奨も禁止もしない)
395-
# 本文書の別の節で入れるよう求められた場所(3.3節の "インポート文":#s3-3-import-statements など)
402+
# 本文書の別の節で入れるよう求められた場所(3節の "ソースファイル構造":#s3-source-file-structure や、3.3節の "インポート文":#s3-3-import-statements など)
396403

397404
複数の連続した空行を入れて良いが、必須でも推奨でもない。
398405

@@ -410,6 +417,10 @@ h4(#s4-6-2-horizontal-whitespace). 4.6.2 水平の空白
410417
** 連続する型パラメータ間のアンパサンド。 @<T extends Foo & Bar>@
411418
** 複数の例外を処理するcatchブロックでのパイプ。 @catch (FooException | BarException e)@
412419
** 拡張for文("foreach") でのコロン。 ( @:@ )
420+
** ラムダ式での矢印。@(String str) ->; str.length()@
421+
# 以下は除外する。
422+
** @Object::toString@ と書かれるような、メソッド参照でのコロン2個。
423+
** @object.toString@ と書かれるような、ドット演算子。
413424
# @, : ;@ あるいはキャストの閉じ括弧 ( @)@ ) の後ろ。
414425
# 行末コメントを開始するスラッシュ2個( @//@ )の両側。ここでは複数の空白が許されるが必須ではない。
415426
# 型と変数の宣言の間。 @List<String> list@
@@ -569,7 +580,7 @@ public String getNameIfPresent() { ... }
569580
@Partial @Mock DataLoader loader;
570581
</pre>
571582

572-
パラメータや、ローカル変数へのアノテーションについては特にルールはありません
583+
パラメータやローカル変数や型についてのアノテーションには特にルールはありません
573584

574585
h4(#s4-8-6-comments). 4.8.6 コメント
575586

@@ -595,7 +606,7 @@ h4(#s4-8-7-modifiers). 4.8.7 修飾子
595606
クラスやメンバの修飾子が出現する場合、Java言語仕様が推奨する順序で出現しなくてはならない。
596607

597608
<pre>
598-
public protected private abstract static final transient volatile synchronized native strictfp
609+
public protected private abstract default static final transient volatile synchronized native strictfp
599610
</pre>
600611

601612

0 commit comments

Comments
 (0)