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 を完了したか」という実績と見ることもできます.