Nest¶
概要¶
For 文, If 文, Try ブロックのそれぞれのネストの深さが一定値以下の際に獲得できる実績です.
ネストの深さを小さくすることによってプログラムの流れが簡潔になり,変更を加えやすいコードとなります.
| タイトル (Lv.1) | タイトル (Lv.2) | タイトル (Lv.3) |
|---|---|---|
| Be in a fog | Third time's the charm | One-depth-liner |
| 課題 | 基準値 (Lv.1) | 基準値 (Lv.2) | 基準値 (Lv.3) |
|---|---|---|---|
| Trial | 5以下 | 3以下 | 1以下 |
| Lexer | 5以下 | 3以下 | 1以下 |
| Parser | 5以下 | 3以下 | 1以下 |
| Checker | 5以下 | 3以下 | 1以下 |
| Compiler | 6以下 | 4以下 | 2以下 |
この実績には,以下の3つのルールが含まれます:
- NestedForDepth
- NestedIfDepth
- NestedTryDepth
NestedForDepth¶
for 文のネストの深さをチェックします.
コード例¶
for(int i = 0; i < 10; i++){
for(int j = 0; j < 10; j++){
for(int k = 0; k < 10; k++){ // ネストの深さ: 3
doSomething();
}
}
}
このルールのチェックには,Checkstyleの NestedForDepth を用いています.
NestedIfDepth¶
if 文のネストの深さをチェックします.
コード例¶
if(foo){
if(bar){
if(baz){ // ネストの深さ: 3
doSomething();
}
}
}
このルールのチェックには,Checkstyleの NestedIfDepth を用いています.
NestedTryDepth¶
try ブロックのネストの深さをチェックします.
コード例¶
try {
try { // ネストの深さ: 2
file.read();
} finally {
file.close();
}
} catch(Exception e) {
e.doSomething()
}
このルールのチェックには,Checkstyleの NestedTryDepth を用いています.