簡體   English   中英

計算C#的Bob叔叔的“敏捷PPP”代碼指標的腳本

[英]Script to calculate Uncle Bob's “Agile PPP” code metrics for C#

我正在閱讀C#的敏捷PPP ,並在某個時候Bob叔叔提出了有關設計質量的有趣指標:

這些是:

  • H (關系內聚)=(R +1)/ N,其中:
    • R =組件內部的內部關系數;
    • N =該組件內部的類數。
  • I (不穩定性)= Ce /(Ca + Ce),其中:
    • Ca =傳入耦合;
    • Ce =傳出聯軸器;
  • A (抽象性)= Na / Nc,其中:
    • Nc =班級數;
    • Na = 抽象類的數量;
  • D' (到主序列的標准化距離)= abs(A + I-1)/ sqrt(2),其中:
    • “主序列”是在A與I的笛卡爾圖中,由A + I = 1的位置形成的對角線;

最有趣的部分是這(直接來自本書):

自1994年以來,我們描述的指標已成功應用於許多項目。

有幾種自動工具可以為您計算它們,並且手工計算並不難

編寫簡單的shell,Python或Ruby腳本來遍歷源文件並計算它們也不難。

有關shell腳本的示例,可以從depend.sh的免費軟件部分下載Depend.sh。

我找不到這個depend.sh腳本,並且不確定是否可以手動或通過某些腳本輕松計算這些指標(如果是這種情況,我想使用Python) 。

因此,問題是:

  • 是否有免費的工具或腳本來計算Bob叔叔的C#代碼指標? Visual Studio有一些指標,但是它們是不同的,我並不真正了解或關心如何解釋它們。
  • 我應該如何處理構建自己的腳本的任務? 有一個著名的“ regex無法解析html”事實,我想知道C#代碼結構是否適合Bob叔叔提出的“簡單腳本”,因此這些可以計算指標。 我還要嘗試嗎?

NDepend工具可以計算這些指標 ,並且可以通過C#Linq查詢輕松編寫您的自定義指標。

它集成在Visual Studio中,並且還與Bob叔的度量圖一起生成報告

可供下載的 14天試用版全功能版本。

NDepend Bob叔叔的指標圖

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM