6

私はWebアプリケーションに取り組んでおり、ディレクトリ内の、、、およびコード行を追跡できる必要がphpあります。csshtmlJavaScript/var/www

しかし、コードカウンターの終端行を使用すると、当然、次のように、より多くの行を記述してコードの間隔を空けるように感じます。

if($var == $other)echo("hi");

次のように実行されます:

if($var == $other)
{
    echo("hi");
}

このようにして、実際に作業を行わなくても非常に多くの行を思い付くことができますが、ディレクトリ内のコードの論理行を数える方法はありますか?そうすることができるプログラムはありますか?

ありがとう!

4

3 に答える 3

5

「コード行」メトリックの意味は非常に疑わしいという警告がありますが、空白行を削除することから始めることができます。

find . -name '*.php' -print0 | xargs -0 cat | egrep -v '^[ \t]*$' | wc

(例えば)。

JavaScriptのような言語の場合、個人のコーディングスタイルは生のLOCに非常に大きな影響を与える可能性があります。一部の人々がこのように書いていると考えてください:

if (testSomething()) return null;

if (somethingElse()) {
  doThis();
} else {
  doThat();
}

そして何人かの人々はこのように書きます:

if (testSomething())
{
  return null;
}

if (somethingElse())
{
  doThis();
}
else
{
  doThat();
}

やや便利なのは(それでも、私の意見では疑わしいですが)、「ステートメント」のようなものを数えるものです。もちろん、さまざまな言語の構文を明示的に理解するツールが必要です。

私はこの統計を「疑わしい」と呼んでいます。組織では、スプレッドシートの後にスプレッドシートに入るときに、数値の弱い性質が忘れられがちだからです。プロジェクトマネージャーは、LOC、ログに記録されたバグ(疑わしい)、チェックイン(同上)などに基づいて傾向を抽出し始め、真の生産性との相関が弱いという事実は失われます。

説教:-)

于 2012-12-30T00:09:20.633 に答える
3

CLOCのように、コメントや空の行を除いたコード行を数えることができるプログラムがありますが、サンプルコードでは機能しないと思います。

うまくいくかもしれないのは、すべての言語についてhttp://jsbeautifier.org/のような自動コードフォーマッターを見つけて、出力の行数を測定することだと思います(前述のCLOCを使用するのが最適です)。特定のプログラマーのコーディングスタイルが結果に与える影響を減らすことができます。

于 2012-12-30T00:24:30.373 に答える
1

正規表現での多くの煩わしさを避けたい場合、または実際にコードを解析しようとしている場合は、セミコロンと中括弧の数を数えるだけで済みます。つまり、これらはほとんど常に独自の線を引く2つのものです。

于 2012-12-30T05:57:26.330 に答える