Lines of Code¶
概要¶
各メソッドの最大コード行数(Lines of code, LOC)が一定値以下の際に獲得できる実績です. 各メソッド内の処理を小さく単純化することによって,読み手に伝わりやすく,保守しやすいコードとなります.
| タイトル (Lv.1) | タイトル (Lv.2) | タイトル (Lv.3) |
|---|---|---|
| Too many cooks spoil the broth | Good seed makes a good crop | The fewer, the better fare |
| 課題 | 基準値 (Lv.1) | 基準値 (Lv.2) | 基準値 (Lv.3) |
|---|---|---|---|
| Trial | 30行以下 | 20行以下 | 10行以下 |
| Lexer | 50行以下 | 30行以下 | 10行以下 |
| Parser | 50行以下 | 30行以下 | 10行以下 |
| Checker | 50行以下 | 30行以下 | 10行以下 |
| Compiler | 60行以下 | 40行以下 | 20行以下 |
コード例¶
import java.util.Collections; // +0
import java.io.IOException; // +0
class Foo { // +1, total Ncss = 12
public void bigMethod() // +1
throws IOException {
int x = 0, y = 2; // +1
boolean a = false, b = true; // +1
if (a || b) { // +1
try { // +1
do { // +1
x += 2; // +1
} while (x < 12);
// This is comment line // +0
System.exit(0); // +1
} catch (IOException ioe) { // +1
throw new PatheticFailException(ioe); // +1
}
} else {
assert false; // +1
}
}
}
コード行数の計測には,PMDの NcssCount を用いています.
ちなみに
Trial を開発するのに main() と run() 以外のメソッドを作成する方はほとんどいないと思うので,
Trial に関してはこの実績は「全行数が何行のプログラムで Trial を完了したか」という実績と見ることもできます.