版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Sonar 參數(shù)分析API compatibility1. API behavior changes-Clirr Plugin正常接口變化數(shù)2. API breaks-Clirr Plugin可能引發(fā)錯(cuò)誤的接口變化3. New API-Clirr Plugin新增接口數(shù)4. Total API Changes-Clirr Plugin接口變化總數(shù)注:以上參數(shù)需要依賴于Clirr ,暫時(shí)仍存在問題Architecture5. Architecture- Total Quality Plugin架構(gòu)質(zhì)量計(jì)算方式:ARCH = 100TITI = Tangle Index6. Architectur
2、e Tangle Index- Total Quality Plugin架構(gòu)復(fù)雜指標(biāo)Complexity7. Complexity 默認(rèn)復(fù)雜度8. Complexity /class 默認(rèn)類復(fù)雜度9. Complexity /file 默認(rèn)文件復(fù)雜度10. Complexity /method 默認(rèn)方法復(fù)雜度11. Complexity Factor- Quality Index Plugin復(fù)雜度因素計(jì)算方式:CF = (5 * Complexity>30) * 100 / (Complexity>1 + Complexity>10 + Complexity>20 +
3、 Complexity>30)12. Complexity Factor Methods- Quality Index Plugin方法復(fù)雜度因素13. QI Complexity-Quality Index Plugin復(fù)雜度質(zhì)量指標(biāo)計(jì)算方式:(Complexity>30 *10 + Complexity>20 * 5 + Complexity>10 * 3 + Complexity>1) / validLinesDesign14. Design Classes and Methods Complexity- Total Quality PluginNOM =
4、(1 - (class_complexity - 12) / (acel * 12) * 50 + (1 - (method_complexity - 2.5) / (acel * 2.5)* 50參見 1915. Design Coupling Between Objects- Total Quality PluginCBO = (1 - (efferent_coupling - 5) / (acel * 5) * 100參見 1916.Design Depth of Inheritance Tree- Total Quality PluginDIT = (1 - (depth_of_inh
5、eritance_tree - 5) / (acel * 5) * 100參見 1917.Design Lack of Cohesion of Methods- Total Quality PluginLCOM = (1 - (lack_of_cohesion_of_method - 1) / (acel * 1) * 100參見 1918.Design Response for Class- Total Quality PluginRFC = (1 - (response_for_class - 50) / (acel * 50) * 100參見 1919.Design Quality- T
6、otal Quality Plugin設(shè)計(jì)質(zhì)量計(jì)算方式:DES = 0.15*NOM + 0.15*LCOM + 0.25*RFC 0.25*CBO + 0.20*DITNOM = (1 - (class_complexity - 12) / (acel * 12) * 50 + (1 - (method_complexity - 2.5) / (acel *2.5) * 50LCOM = (1 - (lack_of_cohesion_of_method - 1) / (acel * 1) * 100RFC = (1 - (response_for_class - 50) / (acel *
7、50) * 100CBO = (1 - (efferent_coupling - 5) / (acel * 5) * 100DIT = (1 - (depth_of_inheritance_tree - 5) / (acel * 5) * 100Acel 參數(shù)因子的值可以在 Sonar setting 頁(yè)面配置。每一個(gè)度量標(biāo)準(zhǔn)的默認(rèn)闕值也可以進(jìn)行配置(例如,50 是 response_for_class 的默認(rèn)閾值 )。20. LCOM4(Lack of cohesion of methods)用來說明class 內(nèi)部方法和變量之間的關(guān)系, 值越大 , 說明內(nèi)聚性越差. 一般情況下LCOM4=
8、1是內(nèi)聚性最佳的. 2 說明可以拆成兩個(gè)類, 以此類推 .但是這種測(cè)量對(duì)門面服務(wù)類來說不適用. 有時(shí)候很小的類也會(huì)根據(jù)需要合并在一起, 盡管關(guān)聯(lián)不大21. Package tangle index包復(fù)雜指數(shù)此參數(shù)為包的復(fù)雜等級(jí),最好的值為0%,意味著包之間沒有圈依賴;最差的值為100%,意味著包與包之間的關(guān)系特別的復(fù)雜。該指數(shù)的計(jì)算公式:2 * (package_tangles / package_edges_weight)* 100.22. RFC(Response for Class )通過檢查一個(gè)方法被調(diào)用的情況來反映一個(gè) class 的復(fù)雜程度 . 也可以簡(jiǎn)單的理解為一個(gè)類所包含的方法
9、多寡 .23. Suspect LCOM4 densityLCOM4密度值Documentation24. Comment linesJavadoc、多行注釋、單行注釋的總數(shù)。空注釋行、頭文件中的注釋(主要用于定義許可證)以及 commented-out 行均不會(huì)包括在內(nèi)。25. Commented-out LOC注釋掉的代碼行數(shù)。Javadoc 塊不會(huì)被掃描26. Comments (%)注釋行數(shù) /( 注釋行數(shù) +有效代碼行數(shù))27. Public documented API (%)添加注釋的公有API 占總的公有API 的百分比28. Public undocumented API公有
10、 API 未添加注釋個(gè)數(shù)Duplication29. DRYness - Total Quality PluginDRYNESS = 100 - Duplicated lines density30. Duplicated blocks重復(fù)塊數(shù)31. Duplicated files重復(fù)文件數(shù)32. Duplicated lines重復(fù)行數(shù)33. Duplicated lines (%)重復(fù)行占總行數(shù)的百分比34. Useless Duplicated Lines-Useless Code Tracker無(wú)用的重復(fù)行數(shù);當(dāng)前的Sonar 告訴你有 50 重復(fù)的行數(shù),但是不能告訴你是有兩塊25
11、行的代碼重復(fù)(這樣你可以節(jié)省 25 行代碼)還是有 5 塊 10 行(這樣你可以節(jié)省 40 行代碼)的代碼重復(fù);通過這個(gè)插件,你可以獲取到額外的信息。General35. Analysability Value- SIG Maintainability Model可理解性請(qǐng)查看 37 指標(biāo)后的詳細(xì)介紹36. Changeability Value- SIG Maintainability Model可擴(kuò)展性37. Stability Value- SIG Maintainability Model穩(wěn)定性38. Testability Value- SIG Maintainability Mod
12、el可測(cè)試性可維護(hù)性可通過7 個(gè)質(zhì)量特性來衡量:可理解性可測(cè)試性可修改性可靠性可移植性可使用性效率這個(gè)插件標(biāo)示了一個(gè)Software Improvement Group (SIG)可維護(hù)性模型這個(gè)模型需要兩步: 計(jì)算基數(shù)的指標(biāo),然后結(jié)合他們計(jì)算出更高層面上的數(shù)值。每一個(gè)指標(biāo)被分成5 級(jí)別排名:從 -(很糟糕)到 +(非常好)第一步加上基數(shù)的指標(biāo)。Volume : 基于代碼的行數(shù)Rank LOC-> 1310000-> 6550000> 246000+> 66000+> 0Duplications :基于代碼重復(fù)的密度Rank Duplication-> 20
13、%-> 10%0> 5%+> 3%+> 0%Unit tests :基于單元測(cè)試覆蓋率Rank Coverage+ > 95%+>80%0>60%->20%- > 0%Complexity :基于方法的圈復(fù)雜度第一步根據(jù)圈復(fù)雜度的范圍確定在方法代碼行中的百分比。EvalComplexityVery high> 50High> 20Medium> 10Low> 0然后根據(jù)分布,我們使用下面的表格來計(jì)算等級(jí):Rank MediumHighVery High+ <25% <0% <0%+ <30%
14、<5% <0%0<40%<10%<0%- <50% <15%<5%否則等級(jí)是 -Unit size: 基于方法代碼的行數(shù)第一步根據(jù)行數(shù)的范圍確定方法代碼行數(shù)的百分比。EvalLOCsVery high> 100High> 50Medium> 10Low> 0然后根據(jù)分布,使用下面的表格來計(jì)算等級(jí):Rank MediumHighVery High+ <25% <0% <0%+ <30% <5% <0%0<40%<10%<0%- <50% <15%<5%否
15、則等級(jí)為 -第二步是通過一個(gè)簡(jiǎn)單的平均,將他們結(jié)合起來,使用以下映射表來確定最終等級(jí).Volume Complexity DuplicationsUnit size Unit testsanalysabilitychangeabilitystabilitytestability因此 4 個(gè)代表軟件可維護(hù)性四維的先進(jìn)指標(biāo)??蛇x項(xiàng),通過將 4 個(gè)指標(biāo)簡(jiǎn)單的結(jié)合在一塊,可以得到可維護(hù)性排名。需要注意的是,圖表的顏色代表實(shí)際結(jié)合后的值,從紅色=-到綠色 =+.39.Profile version 未知未知40.Quality Index- Quality Index Plugin計(jì)算方式:QI = 1
16、0 - 4.5 * coding - 2 * complexity - 2 * coverage -1.5 * style41.SIG MM- SIG Maintainability ModelSIG可維護(hù)性模型,參考 3742.Technical Debt ($)-Technical Debt Plugin清除所有技術(shù)債務(wù)需要的花費(fèi)43.Technical Debt in days-Technical Debt Plugin需要多少人日去解決技術(shù)債務(wù)44.Technical Debt ratio-Technical Debt Plugin技術(shù)債務(wù)占整個(gè)項(xiàng)目的比例45.Total Qualit
17、y- Total Quality Plugin總體質(zhì)量計(jì)算方式:TQ= 0.25*ARCH + 0.25*DES + 0.25*CODE + 0.25*TSManagement46. Burned budget燃盡預(yù)算47. Business value商業(yè)價(jià)值48. Team size團(tuán)隊(duì)規(guī)模注:以上變量為手動(dòng)輸入變量,另外這里可以添加一些自定義的變量Rules49. Blocker violations阻礙性違規(guī)50. Code Quality- Total Quality Plugin代碼質(zhì)量計(jì)算方式:Code = 0.15*DOC + 0.45*RULES + 0.40*DRYNESS
18、DOC = Documented API densityRULES = Rules compliance indexDRYNESS = 100 - Duplicated lines density51. Critical violations嚴(yán)重違規(guī)52. Dead Code- Useless Code Tracker無(wú)作用程序代碼53. Info violations建議級(jí)別違規(guī)54. Major violations重要違規(guī)55. Minor violations次要違規(guī)56. Potential Dead Code- Useless Code Tracker當(dāng)前代碼中未使用的 prote
19、cted 方法數(shù)目;此參數(shù)可通過 PMD :UnusedProtectedMethod 或者 SQUID:UnusedProtectedMethod 獲取到。計(jì)算他們行數(shù)的和值。57. QI Coding Violations-Quality Index Plugin代碼違規(guī)質(zhì)量指標(biāo)(PMD 規(guī)則指數(shù))計(jì)算方式:(Blocker * 10 + Critical * 5 + Major * 3 + Minor + Info) / validLines58. QI Coding Weighted Violations-Quality Index Plugin代碼違規(guī)權(quán)重指標(biāo)59. QI Style
20、 Violations-Quality Index Plugin風(fēng)格違規(guī)質(zhì)量指標(biāo)(CheckStyle 規(guī)則指數(shù))計(jì)算方式:Style = (Errors*10 + Warnings) / ValidLines * 10QI = 10 - 4.5 * coding - 2 * complexity - 2 * coverage -1.5 * style60. QI Style Weighted Violations-Quality Index Plugin風(fēng)格違規(guī)權(quán)重質(zhì)量指標(biāo)61. Rules compliance遵守規(guī)則率62. Security rules compliance- Secu
21、rity Rules PluginSecurity 規(guī)則遵守率63. Security violations- Security Rules Plugin符合 Security 規(guī)則數(shù)目64. Violations違規(guī)總數(shù)65. Weighted Security Violations- Security Rules PluginSecurity 規(guī)則權(quán)重值(總數(shù))Size66. AccessorsGetter 及 setter 方法的數(shù)量/ Getterspublic String getName()return ;public boolean isParent()retu
22、rn this.isParent;/ Setterspublic void setName(String name) = name;public void setIsParent(boolean isParent)this.isParent = isParent;67.Artifact Size (Kb)- Artifact Size Plugin記錄最終產(chǎn)品大小68.Classes類總數(shù)69.Files文件數(shù)70.Lines文件中行數(shù)71.Lines of code代碼行數(shù)72.Methods方法數(shù)目73.Packages包數(shù)目74.Public API公共類、公共方法(不
23、包括訪問器)以及公共屬性(不包括public final static 類型的)的數(shù)目。75.StatementsJava語(yǔ)言規(guī)范中沒有塊定義的語(yǔ)句數(shù)目;此數(shù)目在遇到含有if, else, while, do, for, switch, break,continue, return, throw, synchronized, catch, finally等關(guān)鍵字的語(yǔ)句時(shí)增加。例如:/i = 0;if (ok)if (exit) if (3 = 4);if (4 = 4) ; else trywhile(true)for(.).語(yǔ)句數(shù)目不會(huì)隨著以下情況增加,類、方法、字段、注釋定義、包以及imp
24、ort 定義。76. Total Useless Code- Useless Code Tracker可以刪除的代碼行數(shù)Tests77. Coverage覆蓋率78. Line coverage行覆蓋率79. QI Test Coverage-Quality Index Plugin測(cè)試覆蓋率質(zhì)量指標(biāo)80. Skipped unit tests忽略的單元測(cè)試數(shù)81. Testing Quality- Total Quality Plugin測(cè)試質(zhì)量計(jì)算方式:Test = 0.80*COV + 0.20*SUCCOV = Code coverageSUC = Unit Tests success
25、 density82. Uncovered lines未覆蓋行數(shù)83. Unit test errors單元測(cè)試出錯(cuò)數(shù)84. Unit test failures單元測(cè)試失敗數(shù)85. Unit test success (%)單元測(cè)試成功率86. Unit tests單元測(cè)試個(gè)數(shù)87. Unit tests duration單元測(cè)試需要的時(shí)間SCM88. CommitsSVN庫(kù)總的提交數(shù)89. Last commit最近的一次提交時(shí)間SQALE90. SQALE RatingSQALE( Software Quality Assessment based on Lifecycle Expect
26、ations )評(píng)級(jí);基于生命周期期望的軟件質(zhì)量模型91. SQALE Remediation CostSQALE整治成本附錄92. Sonar 插件插件名稱插件介紹度量參數(shù)ABAPABAP 項(xiàng)目插件Artifact Size衡量項(xiàng)目產(chǎn)品的大小Artifact Size (Kb)Branding允許添加 Logo 到 Sonar 界面上Build Breaker在有一個(gè)警報(bào)閾值滿足時(shí),停止分析處理CC 項(xiàng)目插件C RulesC 規(guī)則插件Clirr檢查 Java庫(kù)二進(jìn)制文件及源代碼與API behavior changes之前版本的兼容性API breaksNew APITotal API Ch
27、angesClover通過 Atlassian Clover(收費(fèi))獲取覆蓋率CobolCobol 項(xiàng)目插件CrowdAtlassian Crowd 在 Sonar 上的認(rèn)證委托Email分析報(bào)告可通過 Email 進(jìn)行傳輸EmmaEmma 是替代 Clover 和 Cobertura測(cè)量單元測(cè)試代碼覆蓋率的工具FlexActionScript 項(xiàng)目插件French Pack法語(yǔ)包Google Calendar將 Google 日歷集成到 SonarGreenPepper收集 GreenPepper Maven plugin 提供的測(cè)試報(bào)告到 Sonar 上GroovyGroovy 項(xiàng)目插件J
28、Meter在 Sonar 上展示 JMeter 測(cè)試結(jié)果JaCoCoJaCoCo 是替代 Clover 和 Cobertura測(cè)量單元測(cè)試代碼覆蓋率的工具JavaScriptJavaScript 項(xiàng)目插件Jira從 Jira 服務(wù)中收集項(xiàng)目缺陷的數(shù)目LDAPLDAP 在 Sonar 上的認(rèn)證委托Mantis從 Mantis BugTracker 中檢索項(xiàng)目缺陷的個(gè)數(shù)Motion Chart顯示一組指標(biāo)隨著時(shí)間的演變(需要接入互聯(lián)網(wǎng) )NaturalNatural 項(xiàng)目插件PAM允許 Sonar 在 *nix box 上使用 PAM認(rèn)證PDF ReportPDF報(bào)告插件PHPPHP 項(xiàng)目插件PL
29、/SQLPL/SQL項(xiàng)目插件Quality Index根據(jù)編碼規(guī)范、樣式、復(fù)雜度、覆蓋率計(jì)算一個(gè)全局的質(zhì)量指標(biāo)Radiator使用 treemap 顯示度量指標(biāo)SCM Activity從 SCM 收集和報(bào)告信息。SIG Maintainability ModelSIG可維護(hù)性模型接口Security Rules檢測(cè)一組已定義的安全規(guī)則Sonar Cutoff Plugin通過日期排除要分析的文件;所有從最后修改時(shí)間到配置的截止時(shí)間QI Test CoverageQI Style Weighted Violations QI Style ViolationsQI Coding Weighted
30、ViolationsQI Coding ViolationsComplexity FactorComplexity Factor MethodsQI ComplexityQuality IndexCommitsLast commitSIG MMTestability ValueStability ValueChangeability ValueAnalysability ValueWeighted Security ViolationsSecurity violationsSecurity rules complianceSonar Piwik PluginSonargraphSQALESpa
31、nish PackSwitch Off Violations TaglistTechnical DebtTimelineTotal QualityTracUseless Code TrackerViews之內(nèi)的源文件都被排除在外。當(dāng)你需要分析在現(xiàn)有代碼基礎(chǔ)上新增代碼或修改時(shí),這可能是有用的。這種方式對(duì)于以前各階段的分析不會(huì)影響分析結(jié)果。Piwik ( ) 是 一 個(gè) 開 源 的 可 替 換 Google Analytics 來使用的網(wǎng)絡(luò)分析軟件,特別是在內(nèi)部網(wǎng)站。 Piwik 插件可以將 Sonar 上個(gè)人瀏覽活動(dòng)的記錄提交到 Piwik 服務(wù)器。通過循環(huán)依賴及其他架構(gòu)方面的指標(biāo)提供架構(gòu)改進(jìn)功
32、能基于生命周期期望的軟件質(zhì)量評(píng)估西班牙包關(guān)閉違規(guī)檢查分析代碼中像 TODO 或者 /TODO 的標(biāo)記以美元計(jì)算修復(fù)源代碼中所有質(zhì)量問題所需要的工作量高級(jí)時(shí)間機(jī)器( time machine )圖表(需要連入互聯(lián)網(wǎng))將代碼質(zhì)量、設(shè)計(jì)、架構(gòu)及測(cè)試質(zhì)量結(jié)合在一塊提供項(xiàng)目的整體質(zhì)量度量從 Trac 中檢索和報(bào)告項(xiàng)目問題查找項(xiàng)目?jī)?nèi)重復(fù)源代碼創(chuàng)建項(xiàng)目的樹狀圖,項(xiàng)目按照應(yīng)用程序進(jìn)行分類,應(yīng)用程序按照小組SQALE Remediation Cost SQALE RatingTechnical Debt ratio Technical Debt in days Technical Debt ($)Testing
33、 QualityCode QualityTotal QualityDrynessDesign QualityDesign Response for ClassDesign Lack of Cohesion of Methods Design Depth of Inheritance Tree Design Coupling Between Objects Design Classes and MethodsComplexityArchitecture Tangle Index ArchitectureTotal Useless CodePotential Dead CodeDead CodeU
34、seless Duplicated Lines來進(jìn)行分類,小組按照部門進(jìn)行分類Visual BasicVisual Basic 項(xiàng)目插件Web分析 Web 代碼Xml分析 XML 和 XHTML 文檔fb-contrib新的 FindBugs 規(guī)則Checkstyle使用 Checkstyle 5.1 分析 Java 代碼Cobertura使用 Cobertura .獲取覆蓋率Core提供覆蓋到所有語(yǔ)言的通用組件Database Cleaner清除舊的或無(wú)用的數(shù)據(jù),來提高數(shù)據(jù)庫(kù)性能Design分析 Java 字節(jié)碼來計(jì)算O.O.度量值并提取資源之間的依賴關(guān)系Duplications查找項(xiàng)目中重
35、復(fù)的源代碼Email notificationsEmail 通知English Pack英語(yǔ)包Findbugs使用分析 Java代碼Google analytics將 Google Analytics跟蹤腳本添加到 Sonar 應(yīng)用程序PMD使用分析 Java 代碼Squid for JavaSquid 分析 JavaSurefire使用 Surefire 獲取單元測(cè)試結(jié)果93. Sonar 幫助文檔中的度量值度量是 Sonar 的核心,有效的使用 Sonar,需要完全了解每個(gè)參數(shù)的定義和計(jì)算方式。NameKeyDescriptionPhysical lineslinesComment lin
36、escomment_lines回車數(shù)目Javadoc、多行注釋、 單行注釋的總數(shù)。 空注釋行、 頭文件中的注釋 (主要用于定義許可證)以及commented-out 行均不會(huì)包括在內(nèi)。/* This is a javadoc block* <- empty comment line considered as a blank line*/<-empty comment line considered as a blank line/* This is a multi-comment block*/ This is a single-comment block/ log("
37、Debug information");<- commented-out line of code is nota comment lineCommented-outcommented_out_code_lines注釋掉的代碼行數(shù)。 Javadoc塊不會(huì)被掃描lines of code/*Lines of codenclocDensity ofcomment_lines_densitycomment linesPackagespackagesClassesclassesFilesfilesDirectoriesdirectoriesAccessorsaccessorsMetho
38、dsFunctionsPublic APIpublic_apiPublicpublic_undocumented_apiundocumentedAPIDensity of publicpublic_documented_api_densitydocumented APIDuplicated linesduplicated_linesDuplicatedduplicated_blocksblocksDuplicated filesduplicated_filesDensity ofduplicated_lines_densityduplicated linesStatementsstatemen
39、ts* someoneCommentMeOutOneDay();* nobodyKnowWhatAmISupposedToDo();*/physical lines - blank lines - comment lines - header file comments -commented-out lines of codecomment lines / (lines of code + comments lines) * 100%包數(shù)目類的數(shù)目,包括內(nèi)部類、接口、枚舉及注釋標(biāo)簽分析的文件數(shù)目分析的目錄數(shù)目Getter及 setter方法數(shù)目,通過 get(reading)或 set(wri
40、ting)一個(gè)類屬性/ Getterspublic String getName()return ;public boolean isParent()return this.isParent;/ Setterspublic void setName(String name) = name;public void setIsParent(boolean isParent)this.isParent = isParent;方法數(shù)目,不包括訪問器。一個(gè)構(gòu)造函數(shù)算作一個(gè)方法公共類、方法(不包括訪問器)以及屬性(不包括public final static 修飾的屬性
41、)不包含 javadoc 塊的公共 API 數(shù)目(public API - undocumented public API) / public API * 100%重復(fù)的物理行數(shù)重復(fù)的代碼塊數(shù)涉及到重復(fù)代碼的文件數(shù)目Duplicated lines / Physical lines * 100%Java 語(yǔ)言規(guī)范中沒有塊定義的語(yǔ)句數(shù)目;此數(shù)目在遇到含有if, else,Complexitycomplexitywhile, do, for, switch, break, continue, return, throw, synchronized, catch,finally 等關(guān)鍵字的語(yǔ)句時(shí)增加
42、。例如:/i = 0;if (ok)if (exit) if (3 = 4);if (4 = 4) ; else try while(true) for(.).語(yǔ)句數(shù)目不會(huì)隨著以下情況增加,類、方法、字段、注釋定義、包以及 import定義。圈 復(fù) 雜 度 也 被 稱 為McCabe 度 量 。 它 簡(jiǎn) 單 歸 結(jié) 為 一 個(gè) 方 法中if,for ,while 等塊的數(shù)目。當(dāng)一個(gè)方法的控制流分割,圈計(jì)數(shù)器加1.除不被認(rèn)為是方法的訪問器外,每個(gè)方法默認(rèn)有最小的值 1,所以不會(huì)增加復(fù)雜度。對(duì)于以下的每一個(gè) java關(guān)鍵字 / 語(yǔ)句,圈復(fù)雜度均會(huì)加 1:ifforwhilecasecatchthr
43、owreturn ( 當(dāng)不是一個(gè)方法最好一個(gè)語(yǔ)句時(shí))&&|?注意 else, default 及 finally 不會(huì)增加 CCN的值。另一方面,一個(gè)含 switch語(yǔ)句及很大塊case 語(yǔ)句的簡(jiǎn)單方法可以擁有一個(gè)令人驚訝的高的CCN 值(同時(shí),當(dāng)將switch 塊轉(zhuǎn)化為等效的if 語(yǔ)句時(shí),它具有相同的CCN值)。例如,下面的方法具有5 的復(fù)雜度。public void process(Car myCar)<- +1if(myCar.isNotMine()<- +1return;<- +1car.paint("red");car.chang
44、eWheel();while(car.hasGazol() && car.getDriver().isNotStressed()<- +2car.drive();return;Averagefunction_complexitycomplexity bymethodComplexityfunction_complexity_distributiondistribution bymethodAverageclass_complexitycomplexity byclassComplexityclass_complexity_distributiondistribution
45、byclassAveragefile_complexitycomplexity byfileViolationsviolationsNew Violationsnew_violationsxxxxx violationsxxxxx_violationsNew xxxxxnew_xxxxx_violationsviolationsWeightedweighted_violationsviolationsRulesviolations_densitycomplianceindexUnit testsTestsUnit teststest_execution_timedurationUnit tes
46、t errortest_errorsUnit test failurestest_failuresUnit test successtest_success_densitydensitySkipped unitskipped_teststestsLine Coverageline_coverageNew Linenew_line_coverageCoverageBranch coveragebranch_coverage方法的平均圈復(fù)雜度方法復(fù)雜度的分布類的平均圈復(fù)雜度類復(fù)雜度的分布文件平均復(fù)雜度違規(guī)總數(shù)新的違規(guī)數(shù)目Xxxxx 級(jí)別違規(guī)的數(shù)目,xxxxx 為阻礙、嚴(yán)重、主要、次要和建議新的 Xxxxx級(jí)別違規(guī)的數(shù)目, xxxxx 為阻礙、嚴(yán)重、主要、次要和建議通過每個(gè)級(jí)別的相關(guān)系數(shù),違規(guī)權(quán)重的總
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版滅火器經(jīng)銷商招募與培訓(xùn)合同3篇
- 2025年度冷鏈?zhǔn)称飞a(chǎn)項(xiàng)目1#車間能源管理服務(wù)合同4篇
- 2025年度土地經(jīng)營(yíng)權(quán)流轉(zhuǎn)合同范本
- 二零二五年度城市更新項(xiàng)目安置房租賃合同范本3篇
- 2025年陽(yáng)臺(tái)封閉工程節(jié)能環(huán)保材料供應(yīng)合同2篇
- 二零二五年度在線教育平臺(tái)股權(quán)出售合同4篇
- 二零二五版農(nóng)業(yè)機(jī)械租賃與供應(yīng)鏈管理合同4篇
- 二零二五年度電視劇特效制作與采購(gòu)合同4篇
- 二零二四年度醫(yī)院保潔人員綠化養(yǎng)護(hù)與病蟲害防治合同3篇
- 二零二五年度智能交通系統(tǒng)承包商款項(xiàng)安全保障合同4篇
- 無(wú)人化農(nóng)場(chǎng)項(xiàng)目可行性研究報(bào)告
- 《如何存款最合算》課件
- 社區(qū)團(tuán)支部工作計(jì)劃
- 拖欠工程款上訪信范文
- 2024屆上海市金山區(qū)高三下學(xué)期二模英語(yǔ)試題(原卷版)
- 學(xué)生春節(jié)安全教育
- 《wifi協(xié)議文庫(kù)》課件
- 《好東西》:女作者電影的話語(yǔ)建構(gòu)與烏托邦想象
- 教培行業(yè)研究系列(七):出國(guó)考培的再研究供需變化的新趨勢(shì)
- GB/T 44895-2024市場(chǎng)和社會(huì)調(diào)查調(diào)查問卷編制指南
- 高三日語(yǔ)一輪復(fù)習(xí)助詞「で」的用法課件
評(píng)論
0/150
提交評(píng)論