diff --git a/.vscode/settings.json b/.vscode/settings.json
index a1d06eed..ec8df704 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,7 +1,8 @@
{
"eslint.validate": ["javascript", "javascriptreact", "vue", "markdown"],
"editor.codeActionsOnSave": {
- "source.fixAll.eslint": "explicit"
+ "source.fixAll.eslint": "explicit",
+ "source.fixAll.markdownlint": "never"
},
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
diff --git "a/documents/forJava/Java\343\202\263\343\203\274\343\203\207\343\202\243\343\203\263\343\202\260\350\246\217\347\264\204.md" "b/documents/forJava/Java\343\202\263\343\203\274\343\203\207\343\202\243\343\203\263\343\202\260\350\246\217\347\264\204.md"
index ba23122e..b2822e3a 100644
--- "a/documents/forJava/Java\343\202\263\343\203\274\343\203\207\343\202\243\343\203\263\343\202\260\350\246\217\347\264\204.md"
+++ "b/documents/forJava/Java\343\202\263\343\203\274\343\203\207\343\202\243\343\203\263\343\202\260\350\246\217\347\264\204.md"
@@ -10,8 +10,8 @@ head:
-本コーディング規約は、世の中のシステム開発プロジェクトのために無償で提供致します。
-ただし、掲載内容および利用に際して発生した問題、それに伴う損害については、フューチャー株式会社は一切の責務を負わないものとします。
+本コーディング規約は、世の中のシステム開発プロジェクトのために無償で提供致します。\
+ただし、掲載内容および利用に際して発生した問題、それに伴う損害については、フューチャー株式会社は一切の責務を負わないものとします。\
また、掲載している情報は予告なく変更することがございますので、あらかじめご了承下さい。
# はじめに
@@ -98,8 +98,8 @@ head:
## クラス
-- クラス名は単語の先頭を大文字にする
- 良い例:
+- クラス名は単語の先頭を大文字にする\
+ 良い例:
```java
public class Entry {
@@ -117,8 +117,8 @@ head:
- コンストラクタと同じ名前のメソッドはつくらない
-- メソッド名は区切りのみ大文字にする
- 良い例:
+- メソッド名は区切りのみ大文字にする\
+ 良い例:
```java
public String getName() {
@@ -137,8 +137,8 @@ head:
}
```
-- 変換メソッド名は「"`to`"+オブジェクト名」にする
- 良い例:
+- 変換メソッド名は「"`to`"+オブジェクト名」にする\
+ 良い例:
```java
public String toString() {
@@ -150,8 +150,8 @@ head:
public String string() {
```
-- ゲッターメソッド名は「"`get`"+属性名」にする
- 型が`boolean`の場合は「"`is`"+属性名」にする
+- ゲッターメソッド名は「"`get`"+属性名」にする\
+ 型が`boolean`の場合は「"`is`"+属性名」にする
- セッターメソッド名は「"`set`"+属性名」にする
- `boolean`変数を返すメソッド名は`true`/`false`の状態がわかるようにする
@@ -169,9 +169,9 @@ head:
## 引数
-- メソッドのパラメータ名とインスタンス変数名を一緒にしない
- ただし、アクセサメソッドやコンストラクタなど、統合開発環境の機能により自動生成するものに関しては可とする。
- アンダースコア `_` をつけての区別は原則禁止とする。
+- メソッドのパラメータ名とインスタンス変数名を一緒にしない\
+ ただし、アクセサメソッドやコンストラクタなど、統合開発環境の機能により自動生成するものに関しては可とする。\
+ アンダースコア `_` をつけての区別は原則禁止とする。
良い例:
@@ -235,8 +235,8 @@ head:
## ローカル変数
-- スコープが狭い変数名は省略した名前でもよい
- 良い例:
+- スコープが狭い変数名は省略した名前でもよい\
+ 良い例:
```java
if (・・・) {
@@ -293,8 +293,8 @@ head:
## 全般
-- 原則としてオブジェクトの参照にはインターフェースを利用する
- オブジェクトを参照する際は、そのオブジェクトの実装クラスを用いて宣言できるが、実装クラスに適切なインターフェースが存在している場合は、必ずインターフェースを用いて宣言すること。
+- 原則としてオブジェクトの参照にはインターフェースを利用する\
+ オブジェクトを参照する際は、そのオブジェクトの実装クラスを用いて宣言できるが、実装クラスに適切なインターフェースが存在している場合は、必ずインターフェースを用いて宣言すること。
良い例:
@@ -310,15 +310,15 @@ head:
HashMap map = new HashMap<>();
```
-- 推奨されない API を使用しない
- アノテーション`@Deprecated`で指定されたメソッドは利用しないこと。
+- 推奨されない API を使用しない\
+ アノテーション`@Deprecated`で指定されたメソッドは利用しないこと。
- 使われないコードは書かない
- 宣言は適切な権限で行うこと(`public`, `protected`, `private`)
-- `final` を適切に利用する
- 継承されないクラス、オーバーライドされないメソッド、値の変わらない変数(つまり定数)等、変化のないもの/変化させたくないものについては`final` で宣言する。
+- `final` を適切に利用する\
+ 継承されないクラス、オーバーライドされないメソッド、値の変わらない変数(つまり定数)等、変化のないもの/変化させたくないものについては`final` で宣言する。
良い例:
@@ -345,8 +345,8 @@ head:
- インデントは空白文字 4 文字分の Tab を使用する
- 長すぎる行は避ける
-- `{` の後にステートメントを記述しない
- 良い例:
+- `{` の後にステートメントを記述しない\
+ 良い例:
```java
if (s == null) {
@@ -360,8 +360,8 @@ head:
if (s == null) {return 0;}
```
-- 1 行に 2 つ以上のステートメントを記述しない
- 悪い例:
+- 1 行に 2 つ以上のステートメントを記述しない\
+ 悪い例:
```java
} catch (Exception e) {
@@ -369,8 +369,8 @@ head:
}
```
-- カンマの後には空白文字を
- 良い例:
+- カンマの後には空白文字を\
+ 良い例:
```java
process(x, y, z);
@@ -382,8 +382,8 @@ head:
process(x,y,z);
```
-- 代入演算子( `=` , `+=` , `-=` , …)の前後には空白文字を挿入する
- 良い例:
+- 代入演算子( `=` , `+=` , `-=` , …)の前後には空白文字を挿入する\
+ 良い例:
```java
int a = x;
@@ -397,8 +397,8 @@ head:
a+= 10;
```
-- for 文内のセミコロンの後には空白文字を挿入する
- 良い例:
+- for 文内のセミコロンの後には空白文字を挿入する\
+ 良い例:
```java
for (int i = 0; i < array.length; i++) {
@@ -414,8 +414,8 @@ head:
}
```
-- `++` や `--` とオペランドの間には空白文字を入れない
- 良い例:
+- `++` や `--` とオペランドの間には空白文字を入れない\
+ 良い例:
```java
i++;
@@ -431,8 +431,8 @@ head:
- 論理演算子( `||` 、`&&`)の前後には空白文字を挿入する
- 関係演算子( `<` 、 `>` 、 `>=` 、 `<=`、`==`、 `!=` )の前後には空白文字を挿入する
- 算術演算子( `+` 、 `-` 、 `*` 、 `/` 、 `%` )の前後には空白文字を挿入する
-- return 文ではカッコを使わない
- 良い例:
+- return 文ではカッコを使わない\
+ 良い例:
```java
int answer = (a + b + c) * d;
@@ -459,8 +459,8 @@ head:
if (hasStock == true)
```
-- 不等号の向きは左向き( `<` 、 `<=` )にする
- 良い例:
+- 不等号の向きは左向き( `<` 、 `<=` )にする\
+ 良い例:
```java
if (from <= x && x <= to) {
@@ -474,14 +474,14 @@ head:
## コメント
-- ファイルの先頭への Copyright の表記について
- ソースのファイルヘッダにコピーライト標記は法的拘束力がないため、不要とする。
+- ファイルの先頭への Copyright の表記について\
+ ソースのファイルヘッダにコピーライト標記は法的拘束力がないため、不要とする。\
ただし、顧客からの要求があった場合を除く。
- Javadoc コメントには、少なくとも author と version(クラス)、param と return と exception(メソッド)を記述する
- 今後もバージョンアップのリリースが予定されているソースでは、上記に加えて since(バージョン)を記述する
- `@Override`のあるメソッドでは、上記に加えて`{@Inherit}`を記述する
-- Javadoc クラスヘッダコメントのフォーマットは以下の通り
+- Javadoc クラスヘッダコメントのフォーマットは以下の通り
良い例:
@@ -494,8 +494,8 @@ head:
*/
```
-- コメントは必要なものだけを簡潔に
- 悪い例:
+- コメントは必要なものだけを簡潔に\
+ 悪い例:
```java
/**
@@ -514,12 +514,12 @@ head:
- 不要なコメントは記載しない
- コードからすぐわかること・冗長なコメント
- - 名前の説明
- コメントではなくわかりやすい名前を付ける。
- - 別システムで管理している内容
- ソースコード管理システム、バグトラッキングシステムで管理している内容はソースコードにコメントで記載する必要はない。
- - コメントアウトされたコード
- ソースコード管理システムで管理されている
+ - 名前の説明\
+ コメントではなくわかりやすい名前を付ける。
+ - 別システムで管理している内容\
+ ソースコード管理システム、バグトラッキングシステムで管理している内容はソースコードにコメントで記載する必要はない。
+ - コメントアウトされたコード\
+ ソースコード管理システムで管理されている
- サンプルコードを記載する場合は、`{@snippet}`タグを利用する。
外部ファイルから引用する例:
@@ -555,7 +555,7 @@ head:
import java.lang.String;//必要のない記述
```
-- 原則として static インポートしない
+- 原則として static インポートしない\
JUnit の作成やフレームワークとして static インポートが推奨されるような場合は利用してもよい
- 原則としてオンデマンドのインポート宣言(type-import-on-demand declaration)(アスタリスク`*`によるインポート) は行わない
@@ -568,8 +568,8 @@ head:
## コンストラクタ
-- public 宣言していないクラスには`public`権限のコンストラクタを作らない
- 良い例:
+- public 宣言していないクラスには`public`権限のコンストラクタを作らない\
+ 良い例:
```java
class Entry {
@@ -635,8 +635,8 @@ head:
## クラスメソッド
-- クラスメソッドを利用するときは、クラス名を使って呼び出す
- 良い例:
+- クラスメソッドを利用するときは、クラス名を使って呼び出す\
+ 良い例:
```java
int comp = Integer.compare(x, y);
@@ -651,8 +651,8 @@ head:
## 変数全般
-- 1 つのステートメントには 1 つの変数宣言
- 良い例:
+- 1 つのステートメントには 1 つの変数宣言\
+ 良い例:
```java
/** 科目コード */
@@ -669,9 +669,9 @@ head:
private String code, name, shortName;
```
-- リテラルは使用しない
- リテラルとは、コード中に、表現が定数として直接現れており、記号やリストで表現することができないものを指す(数値、文字列両方含む 通称マジックナンバー)。コードの可読性・保守性の低下を防ぐために、リテラル定数(`static final` フィールド)を使用すること。
- 例外:`-1`,`0`,`1` 等をカウント値としてループ処理等で使用するような場合
+- リテラルは使用しない\
+ リテラルとは、コード中に、表現が定数として直接現れており、記号やリストで表現することができないものを指す(数値、文字列両方含む 通称マジックナンバー)。コードの可読性・保守性の低下を防ぐために、リテラル定数(`static final` フィールド)を使用すること。\
+ 例外:`-1`,`0`,`1` 等をカウント値としてループ処理等で使用するような場合
良い例:
@@ -690,6 +690,7 @@ head:
return mi * 1609.344;
}
```
+
- リテラル定数の名前はその値の意味を正しく表現したものにする
悪い例:
@@ -712,15 +713,15 @@ head:
private int sampleArray[] = new int[10];
```
-- できるだけローカル変数を利用する
- ローカル変数で事足りるものをインスタンス変数として利用するなど、必要のないインスタンス変数を定義すると、パフォーマンスや可読性の低下やの大きな要因となる上、マルチスレッドを意識した際に不整合がおきる可能性があるので、インスタンス変数は必要性を充分に考慮してから使用すること。
+- できるだけローカル変数を利用する\
+ ローカル変数で事足りるものをインスタンス変数として利用するなど、必要のないインスタンス変数を定義すると、パフォーマンスや可読性の低下やの大きな要因となる上、マルチスレッドを意識した際に不整合がおきる可能性があるので、インスタンス変数は必要性を充分に考慮してから使用すること。
- 定数は`final`で宣言する
- ローカル変数とインスタンス変数を使いわける
## 定数
-- `public` で宣言するクラス変数とインスタンス変数は、定数のみとし、 `static final` で定義する
- `final` ではない `static` な定数は作成しない。
+- `public` で宣言するクラス変数とインスタンス変数は、定数のみとし、 `static final` で定義する\
+ `final` ではない `static` な定数は作成しない。
良い例:
@@ -809,8 +810,8 @@ head:
## クラス変数
-- `public static final` 宣言した配列を利用しない
- ※「定数」を参照
+- `public static final` 宣言した配列を利用しない\
+ ※「定数」を参照
- クラス変数にはクラス名を使用してアクセスすること
@@ -827,12 +828,12 @@ head:
BigDecimal b = a.ZERO;
```
-
+
## ローカル変数
-- ローカル変数は利用する直前で宣言する
- 行間の程度にもよるが、ある程度まとめて宣言するのは OK とする。
+- ローカル変数は利用する直前で宣言する\
+ 行間の程度にもよるが、ある程度まとめて宣言するのは OK とする。
良い例:
@@ -853,13 +854,13 @@ head:
}
```
-- ローカル変数は安易に再利用しない
- 一度宣言したローカル変数を、複数の目的で安易に使いまわさないこと。ローカル変数は、役割ごとに新しいものを宣言して初期化することにより、コードの可読性・保守性の向上、及びコンパイラの最適化の促進をはかる。
+- ローカル変数は安易に再利用しない\
+ 一度宣言したローカル変数を、複数の目的で安易に使いまわさないこと。ローカル変数は、役割ごとに新しいものを宣言して初期化することにより、コードの可読性・保守性の向上、及びコンパイラの最適化の促進をはかる。
## 引数
-- メソッド引数への代入は行わない
- 原則として`final`で宣言する。
+- メソッド引数への代入は行わない\
+ 原則として`final`で宣言する。
良い例:
@@ -871,8 +872,8 @@ head:
## 継承
-- スーパークラスのインスタンス変数をサブクラスでオーバーライドしない
- スーパークラスと同じ名前のフィールドをサブクラスで宣言しないこと。 同じ名前のフィールドを宣言すると、スーパークラスのフィールドはサブクラスで宣言されたフィールドによって隠ぺいされてしまうので、他の人の混乱を招くことを防ぐため重複する名前は付けないこと。
+- スーパークラスのインスタンス変数をサブクラスでオーバーライドしない\
+ スーパークラスと同じ名前のフィールドをサブクラスで宣言しないこと。 同じ名前のフィールドを宣言すると、スーパークラスのフィールドはサブクラスで宣言されたフィールドによって隠ぺいされてしまうので、他の人の混乱を招くことを防ぐため重複する名前は付けないこと。
悪い例:
@@ -922,14 +923,14 @@ head:
}
```
-- スーパークラスで private 宣言されているメソッドと同じ名前のメソッドをサブクラスで定義しない
- スーパークラスにある private メソッドと同じ名前のメソッドをサブクラスで定義しないこと。private メソッドはオーバーライドされず全く別のメソッドとして扱われ、他の人の混乱を招き、バグにつながる恐れがある。
+- スーパークラスで private 宣言されているメソッドと同じ名前のメソッドをサブクラスで定義しない\
+ スーパークラスにある private メソッドと同じ名前のメソッドをサブクラスで定義しないこと。private メソッドはオーバーライドされず全く別のメソッドとして扱われ、他の人の混乱を招き、バグにつながる恐れがある。
## インナークラス
-- 原則としてインナークラスは利用しない
- 一つの java ファイルに複数のクラスを記載するのは NG とする。また無名クラスを利用するのも原則として NG とする。
- Enum の定数固有メソッド実装(constant-specific method implementation)、Java8 のラムダ式は内部的にインナークラスとされるがこれらは許可する。
+- 原則としてインナークラスは利用しない\
+ 一つの java ファイルに複数のクラスを記載するのは NG とする。また無名クラスを利用するのも原則として NG とする。\
+ Enum の定数固有メソッド実装(constant-specific method implementation)、Java8 のラムダ式は内部的にインナークラスとされるがこれらは許可する。
## メンバー順序
@@ -1047,8 +1048,8 @@ head:
return;
```
-- ステートメントが無い `{}` ブロックを利用しない
- 悪い例:
+- ステートメントが無い `{}` ブロックを利用しない\
+ 悪い例:
```java
//{}内の記述が無い
@@ -1056,8 +1057,8 @@ head:
}
```
-- `if` / `while` の条件式で `=` は利用しない
- 良い例:
+- `if` / `while` の条件式で `=` は利用しない\
+ 良い例:
```java
boolean a =//
@@ -1083,8 +1084,8 @@ head:
```
- `for` と `while` の使い分けを意識する
-- for 文を利用した繰り返し処理中でループ変数の値を変更しない
- 悪い例:
+- for 文を利用した繰り返し処理中でループ変数の値を変更しない\
+ 悪い例:
```java
String[] array = { /*・・・*/ };
@@ -1100,8 +1101,8 @@ head:
```
- for 文のカウンタは特別な事情がない限り、0 から始める
-- 配列やリストなどの全要素に対するループ処理は拡張 for 文を使用する。
- 良い例:
+- 配列やリストなどの全要素に対するループ処理は拡張 for 文を使用する。\
+ 良い例:
```java
for (int value : array) {
@@ -1129,8 +1130,8 @@ head:
```
- 繰り返し処理中のオブジェクトの生成は最小限にする
-- if 文と else 文の繰り返しや switch 文の利用はなるべく避け、オブジェクト指向の手法を利用する
- 良い例:
+- if 文と else 文の繰り返しや switch 文の利用はなるべく避け、オブジェクト指向の手法を利用する\
+ 良い例:
```java
CodingKind codingKind = toCodingKind(kind);
@@ -1162,9 +1163,9 @@ head:
}
```
-- 繰り返し処理の内部で `try` ブロックを利用しない
- 特に理由がない場合は繰り返し処理の外に`try`ブロックを記載する。
- ただし、繰り返し処理内部で例外をキャッチし処理を行いたい場合は繰り返し処理の内部で`try`ブロックを利用してもよい。
+- 繰り返し処理の内部で `try` ブロックを利用しない\
+ 特に理由がない場合は繰り返し処理の外に`try`ブロックを記載する。\
+ ただし、繰り返し処理内部で例外をキャッチし処理を行いたい場合は繰り返し処理の内部で`try`ブロックを利用してもよい。
良い例:
@@ -1182,8 +1183,8 @@ head:
## 文字列操作
-- 文字列同士が同じ値かを比較するときは、`equals()`メソッドを利用する
- 良い例:
+- 文字列同士が同じ値かを比較するときは、`equals()`メソッドを利用する\
+ 良い例:
```java
String s1 = "text";
@@ -1203,8 +1204,8 @@ head:
}
```
-- 文字列リテラルは`new` しない
- 良い例:
+- 文字列リテラルは`new` しない\
+ 良い例:
```java
String s = "";
@@ -1216,8 +1217,8 @@ head:
String s = new String();
```
-- 更新される文字列には`StringBuilder` クラスを利用する
- 良い例:
+- 更新される文字列には`StringBuilder` クラスを利用する\
+ 良い例:
```java
StringBuilder builder = new StringBuilder();
@@ -1237,7 +1238,7 @@ head:
System.out.println(string);
```
-
+
スレッドセーフ性が保証されていない箇所では`StringBuffer`クラスを利用する
[※パフォーマンスについても記載しているので参考にしてください](#文字列連結)
@@ -1261,8 +1262,8 @@ head:
```
- 更新されない文字列には`String` クラスを利用する
-- 文字列リテラルと定数を比較するときは、文字列リテラルの`equals()`メソッドを利用する
- 良い例:
+- 文字列リテラルと定数を比較するときは、文字列リテラルの`equals()`メソッドを利用する\
+ 良い例:
```java
private static final String PROTOCOL_HTTP = "http";
@@ -1282,8 +1283,8 @@ head:
}
```
-- プリミティブ型と`String` オブジェクトの変換には、変換用のメソッドを利用する
- 良い例:
+- プリミティブ型と`String` オブジェクトの変換には、変換用のメソッドを利用する\
+ 良い例:
```java
int i = 1000;
@@ -1296,8 +1297,8 @@ head:
```
- 文字列の中に、ある文字が含まれているか調べるには、`contains()`メソッドを利用する
-- システム依存記号( `\n` 、 `\r` など)は使用しない。
- 悪い例:
+- システム依存記号( `\n` 、 `\r` など)は使用しない。\
+ 悪い例:
```java
String text = Arrays.stream(array)
@@ -1306,10 +1307,10 @@ head:
## 数値
-- 誤差の無い計算をするときは、`BigDecimal` クラスを使う
- 浮動小数点演算は科学技術計算に利用するもので、誤差が発生する。これに対して、クラス「`BigDecimal`」は、文字列で数値の計算を行うので、金額などの正確な計算に適している。`BigDecimal` ではインスタンス生成時に指定された桁数での精度が保証される。
-- 数値の比較は精度に気をつける
- 良い例:
+- 誤差の無い計算をするときは、`BigDecimal` クラスを使う\
+ 浮動小数点演算は科学技術計算に利用するもので、誤差が発生する。これに対して、クラス「`BigDecimal`」は、文字列で数値の計算を行うので、金額などの正確な計算に適している。`BigDecimal` ではインスタンス生成時に指定された桁数での精度が保証される。
+- 数値の比較は精度に気をつける\
+ 良い例:
```java
BigDecimal a = new BigDecimal("1");
@@ -1331,13 +1332,13 @@ head:
```
- 低精度なプリミティブ型にキャストしない
-- `BigDecimal`を`String`変換する際は`toString()`ではなく`toPlainString()`を利用すること
- `toString()`を利用した場合、指数表記になることがあります。
+- `BigDecimal`を`String`変換する際は`toString()`ではなく`toPlainString()`を利用すること\
+ `toString()`を利用した場合、指数表記になることがあります。
## 日付
-- 日付の文字列のフォーマットには、`SimpleDateFormat`または`DateTimeFormatter`を使う
- 良い例:
+- 日付の文字列のフォーマットには、`SimpleDateFormat`または`DateTimeFormatter`を使う\
+ 良い例:
```java
Date date = new Date();
@@ -1347,13 +1348,13 @@ head:
## 三項演算子
-- 入れ子の三項演算子の利用は禁止
- 可読性が悪くなるので三項演算子を入れ子で行うのは禁止。
+- 入れ子の三項演算子の利用は禁止\
+ 可読性が悪くなるので三項演算子を入れ子で行うのは禁止。
## switch 式
-- 一つの値を変数に代入するための if-else 文は代わりに switch 式の使用を推奨する
- switch 式の値を使用することで変数を不変(実質的 final)にでき、代入箇所が分散することによる可読性の低下を防げます。
+- 一つの値を変数に代入するための if-else 文は代わりに switch 式の使用を推奨する\
+ switch 式の値を使用することで変数を不変(実質的 final)にでき、代入箇所が分散することによる可読性の低下を防げます。
良い例:
@@ -1375,10 +1376,10 @@ head:
}
```
-- case 句はなるべく一つの式での記述を推奨する
- 複雑な式や複雑なステートメントを記述しなければならない場合は、メソッドに分割することを検討してください。
-- switch 式は、コーディングミスによるフォールスルーを避けるため、常にアロー構文を使用する
- からの引用:
+- case 句はなるべく一つの式での記述を推奨する\
+ 複雑な式や複雑なステートメントを記述しなければならない場合は、メソッドに分割することを検討してください。
+- switch 式は、コーディングミスによるフォールスルーを避けるため、常にアロー構文を使用する\
+ からの引用:
> ノート:`case L ->`ラベルの使用をお薦めします。`case L:`ラベルの使用時は、`break`文または`yield`文の挿入を忘れがちです。これを忘れると、コード内で思いがけないフォール・スルーが発生する場合があります。
> `case L ->`ラベルで、複数の文または式でないコード、あるいは`throw`文を指定するには、それらをブロック内に囲みます。`case`ラベルが生成する値を`yield`文で指定します。
@@ -1417,7 +1418,7 @@ head:
};
```
-- アロー構文の、中カッコ、`yield`を省略できる場合は必ず省略する
+- アロー構文の、中カッコ、`yield`を省略できる場合は必ず省略する\
良い例:
```java
@@ -1454,8 +1455,8 @@ head:
};
```
-- Enum 値の switch 式で case 句が全ての Enum 値をカバーする場合は default 句はデッドコードとなるため記述しない
- 良い例:
+- Enum 値の switch 式で case 句が全ての Enum 値をカバーする場合は default 句はデッドコードとなるため記述しない\
+ 良い例:
```java
var day = DayOfWeek.SUNDAY;
@@ -1486,10 +1487,10 @@ head:
- 代わりに switch 式が使用できる箇所は switch 式を使用する
- case 句で`return`を記述する場合は switch 文を使用して良い
-- case 句はなるべく 1 行のステートメントでの記述を推奨する
- 複雑なステートメントを記述しなければならない場合は、メソッドに分割することを検討してください。
-- switch 文は、コーディングミスによるフォールスルーを避けるため、なるべくアロー構文を使用することを推奨する
- からの引用:
+- case 句はなるべく 1 行のステートメントでの記述を推奨する\
+ 複雑なステートメントを記述しなければならない場合は、メソッドに分割することを検討してください。
+- switch 文は、コーディングミスによるフォールスルーを避けるため、なるべくアロー構文を使用することを推奨する\
+ からの引用:
> ノート:`case L ->`ラベルの使用をお薦めします。`case L:`ラベルの使用時は、`break`文または`yield`文の挿入を忘れがちです。これを忘れると、コード内で思いがけないフォール・スルーが発生する場合があります。
> `case L ->`ラベルで、複数の文または式でないコード、あるいは`throw`文を指定するには、それらをブロック内に囲みます。`case`ラベルが生成する値を`yield`文で指定します。
@@ -1536,8 +1537,8 @@ head:
}
```
-- アロー構文を使用しない(コロンを使用する)場合、複数の値をマッチさせるときの case 句はカンマを使用して列挙する
- 良い例:
+- アロー構文を使用しない(コロンを使用する)場合、複数の値をマッチさせるときの case 句はカンマを使用して列挙する\
+ 良い例:
```java
var day = DayOfWeek.SUNDAY;
@@ -1600,8 +1601,8 @@ head:
## コレクション
-- Java2 以降のコレクションクラスを利用する
- `Vector` クラス、`Hashtable` クラス、`Enumeration` 等は、特にこれらを利用する理由がなければ、インターフェースを統一する目的で、これらの代わりに`List`(`ArrayList` クラス)、`Map`(`HashMap` クラス)、`Iterator` を使用すること。`List` などのインターフェースを利用することで JDK1.2 で整理されたわかりやすいメソッドを利用でき、また、インターフェースの特性から呼び出し元を変更せずに実装クラスを変更することができる。
+- Java2 以降のコレクションクラスを利用する\
+ `Vector` クラス、`Hashtable` クラス、`Enumeration` 等は、特にこれらを利用する理由がなければ、インターフェースを統一する目的で、これらの代わりに`List`(`ArrayList` クラス)、`Map`(`HashMap` クラス)、`Iterator` を使用すること。`List` などのインターフェースを利用することで JDK1.2 で整理されたわかりやすいメソッドを利用でき、また、インターフェースの特性から呼び出し元を変更せずに実装クラスを変更することができる。
- 特定の型のオブジェクトだけを受け入れるコレクションクラスを利用する
良い例:
@@ -1610,13 +1611,13 @@ head:
List