2009-06-03 16 views
1

大きなプロジェクトとみなすには何行のコード(LOC)が必要ですか?それを書いている一人の人はいかがですか?LOCを使用してプロジェクトのサイズを決定する

このメトリックは疑問ですが、1kと10k LOCの間に1人の開発者にとって大きな違いがあります。私は通常、特にSQL文のための読みやすさのためにスペースを使用し、メンテナンス目的のLOCの量をできるだけ多くのベストプラクティスに従わせるようにしています。

たとえば、私は今日修正したコードの統一差分を作成しました。これは1k LOC(コメントと空白行を含む)以上でした。 「変更されたLOC」はより良いメトリックですか?私は〜2k LOCを持っているので、1kを修正したのは驚くべきことです。私は統計量を2倍にする削除と追加の両方としてカウントを書き換えると思います。

+1

LOCは、コードの行を指します(空白行は読みやすくするために挿入されています)。このメトリックではコメント行は無視されます。 –

+1

LOCは、プロジェクトがいつ「大」であるかを判断するための基準にはなりません。私はモジュールの数、それらの複雑さ、そしてそれらの間の相互依存性をより良いメトリックとして見ていますが、プロジェクトが大規模なときには固定的な答えが1つはないと思います。あなたは特定の問題を解決しようとしているのですか?これはもっと一般的な質問ですか? –

+0

@Banang:人々が大規模であると考えるものの一般的な感じ。 –

答えて

3

コンパイル時間が少し短くなります。
プロジェクトがコンパイルするより、言う...よりも30分かかる場合は、スケールの上限でのベンチマークとしてSteve Yeggeを使用した大規模な:)

+1

C++で30分コンパイルすると、はるかに小さなプロジェクトにポイントし、次にDelphiで言いましょう。 –

2

だ、(以上?)のが500k lines of codeであることを言わせては最大単一の開発者が維持することができます。

さらに深刻ですが、私はあなたが100k LOCをヒットしたら、おそらくコードの拡張の前にre-factoringsを探し始めたいと思っています。

ただし、この制限を回避するには、明らかにコードをコンパートメント化することが重要です。すべてのコードの合計が2つまたは3つの大きなライブラリとアプリケーションで構成されている場合、これを1つのコードベースとして維持できる以上のものになる可能性がありますが、各ライブラリがきれいに自己完結している限り、ソリューションの各部分を理解する能力を超えることになります。

1

私の意見では、あなたのコードの設計にも依存しています。私は1〜10Kのロケート範囲のプロジェクトに取り組んできました。それは設計が貧弱で、本当に大きなプロジェクトのようでした。

しかし、LOCはコードにとって本当に面白いのですか? ;-)

+1

LOCはコードの複雑さの絶対的な尺度ではないかもしれませんが、正確な値(1k対10k対100k)よりも大きさにもっと注意を払うと、合理的な近似になります – jerryjvl

2

これはおそらくLOCと同じくらい役に立たないものの、COCOMOの数値です。

単一の開発者は、「厳格でない」要件を満たしている「良い」経験を持つ「小さな」チームのみ、有機的なプロジェクトを行うことができました。この場合

は、人月で適用effordこれは言っ

2.4 * (kLOC)^1.05 

のように計算され、1kLOCは2.52人月が必要になります。製品、ハードウェア、個人、およびプロジェクトの属性に基づいて、いくつかの要素を使用して詳細を絞り込むことができます。

しかし、私たちが今行ったことは、LOCを時間測定に投影したことです。 2か月か20か月のプロジェクトが大きいかどうかを判断する必要があります。

あなたが言ったように、LOCはおそらく使用する正しい方法ではありません。キーワード:ソフトウェアメトリクス、機能点、証拠ベースのスケジューリング、プレーニングゲーム。

+0

kLOCは1000LOCあたりですか?私は1kを1日に書いた後、さらに2日後にクリーンアップしてデバッグし、1kLOCまで追加しました。この式は間違っているようです。私の現在のプロジェクトは4kLOC(クリーンアップ後)です。 500LOCの特定の500LOCは、私はそれを嫌っているので、私はその式がどのように適用されるべきかわかりません。これまでの経験がないラインにのみ適用されますか? –

+1

新しいプロジェクトの開発に適用されますが、プロジェクトのすべての段階が含まれます。それは2000年に確立されているので、多少の生産性が得られているかもしれません。 COCOMOは、多くのプロジェクトの死後解析を通じて計算されています。単一の開発者ではなく、チームにのみ適用されます。良い開発者は悪い開発者よりも最大10倍速いので、あなたの経験は適用されないかもしれません。 LOCの定義を考慮に入れてもよい。何も生成されず、手書きの文ラインだけである。もちろん、プログラミング言語(ASM - C)にも依存します。したがって、LOCとCOCOMOの両方はむしろ役に立たないようです。 –

関連する問題