2016-05-23 895 views
4

我們在我們的Java項目中使用了源代碼分析器PMD。我試圖解決報告的問題,我目前正在努力與GodClass規則。我知道這個想法並不是創造巨大的課程。PMD規則God Class - 瞭解度量標準

但是,我不喜歡「巨大」這個詞,因爲它太模糊。任何人都可以解釋這個規則的指標是如何工作的嗎?報告說,例如

Possible God class (WMC=47, ATFD=11, TCC=0.06315789473684211)

怎麼所有這些數字意味着什麼呢?有人知道決定一個班級是否巨大的公式嗎?

的Javadoc該規則規定

該規則使用在所描述的檢測策略[1]。違規行爲是針對整個班級的。 [1]蘭扎。面向對象的度量標準在實踐中。第80頁

好吧,我不慣於訂購一些書,只是因爲它的頁面80.

順便說一句。有沒有辦法配置這樣的規則,即改變它的參數?

感謝您的解釋。

+0

亞馬遜讓你看看那本書裏面(!) –

+0

我承認我不熟悉亞馬遜Look裏面。我剛剛嘗試過。看起來我無法看到這本書的完整版本。只有介紹章節可用。 – Cimlman

回答

6
  • WMC =加權方法計數
  • ATFD =訪問國外資料
  • TCC =緊密類凝聚

基線似乎被定義爲常數值。如果你想知道更多,你可以找到執行here

0

WMC代表每類的加權方法計數或加權方法。 WMC度量被定義爲在類中聲明的所有方法的複雜度的總和。這個指標是一個很好的指標,對於維持和發展某個班級需要付出多少努力。

ATFD代表訪問外國數據。此度量標準表示給定類直接或通過訪問器方法訪問屬性的外部類的數量。

TCC代表Tight Class Cohesion。 TCC是通過訪問屬性直接連接的方法的相對數量。

如果WMC> = 47且ATFD> 5和TCC < 1/3,則code觸發違規。

您可以在page 55的「實踐中面向對象度量標準」中閱讀關於上帝級的教程(並且您不必購買此書即可閱讀1頁)。您也可以閱讀PMD documentation