Index: [Article Count Order] [Thread]

Date:  Wed, 19 Apr 2000 10:54:57 +0900
From:  Masashi Umezawa <umezawa@....jp>
Subject:  [XP-jp:00237] Re: XPractices 【  6. Method comments 】(案)
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Cc:  umezawa@....jp
Message-Id:  <38FD11AA2C5.9CE7UMEZAWA@....jp>
In-Reply-To:  <200004181306.AA00029@....jp>
References:  <38FBF860F3.809DUMEZAWA@....jp> <200004181306.AA00029@....jp>
Posted:  Wed, 19 Apr 2000 10:53:46 +0900
X-Mail-Count: 00237

こんにちは
梅澤です。

On Tue, 18 Apr 2000 22:06:22 +0900:
Akira Hirasawa <hirasawa@....jp> wrote:

> 参考までに私が去年、実際に関わったプロジェクトでは次の通りでした。
> 
> ・1メソッドあたりの命令行数(コメントは除く) : 10.7
>  (これは、"public void foo() {"などの宣言部やimport文も含めた値です。)
> ・1メソッド当たり平均ステートメント数 : 5.9
> 
> 言語はJavaで、全体で50人月近くのプロジェクトでした。
> GUI部分(全体の半分ぐらいですが)はツールによるコード生成を使ったこともあり、
> 手続き的に書かれた箇所も多いのですが、
> これを除くと平均値はもっと少なくなります。

いやーすごいですね。Javaで10行というのは。
おみそれしました。

やればできるということですね。推測でものを語って
もうしわけありません。

XPの3番目のValue、Feedbackに反しますね。

と、いうことでSmalltalkの全クラスの全メソッドの平均LOCを
求めてみました。Smalltalk製品は、C3でも使われたVisualWorksの
最新版、5i.1のNon Commercial版です。

| totalMethods totalLines  |
totalMethods := totalLines := 0.
Smalltalk allClasses do:[:cls | 
		| lines |
		lines := 0.
		cls selectors 
			do:[:each | lines := lines + ((cls sourceCodeAt: each) occurrencesOf: Character cr)].
		totalMethods := totalMethods + cls selectors size.
		totalLines := totalLines + lines.].
^(totalLines / totalMethods) asFloat 

結果は6.48571。非常によくRefactoringされたクラスライブラリです。

"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --"!
[:masashi |^umezawa]
        "The computer revolution hasn't happened yet - Alan Kay"