ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### [1、程序代码信息汇总]() ![](image/5630a58f51486.png)   程序代码信息汇总中显示当前代码基本信息、代码注释比例、代码可维护性。它能有效地检查出代码的整体状况,并指出相应的薄弱点。 计算上述指标需要使用到以下数据并对应映射表来确定:可分析性、可修改性、稳定性、可测试性的最终等级   <table class="msotablemediumgrid3accent"><tbody class="calibre10"><tr class="calibre11"><td valign="top" width="70" class="calibre12"><p class="msonormal3"><span class="calibre13"><span> </span></span></p></td><td valign="top" width="99" class="calibre14"><p class="msonormal3"><span class="calibre13">基于代码的行数</span><span class="calibre13"/></p></td><td valign="top" width="99" class="calibre14"><p class="msonormal3"><span class="calibre13">段复杂度(JC0)</span><span class="calibre13"/></p></td><td valign="top" width="99" class="calibre14"><p class="msonormal3"><span class="calibre13">基于代码重复的密度</span><span class="calibre13"/></p></td><td valign="top" width="99" class="calibre15"><p class="msonormal3"><span class="calibre13">基于方法代码的行数</span><span class="calibre13"/></p></td><td valign="top" width="99" class="calibre16"><p class="msonormal3"><span class="calibre13">段覆盖率(SC0)</span><span class="calibre13"/></p></td></tr><tr class="calibre11"><td valign="top" width="70" class="calibre17"><p class="msonormal3"><span class="calibre13">可分析性</span><span class="calibre13"/></p></td><td valign="top" width="99" class="calibre18"><p class="msonormal4"><span class="calibre19">R</span><span class="calibre20"/></p></td><td valign="top" width="99" class="calibre18"><p class="msonormal5"><span class="calibre20"><span> </span></span></p></td><td valign="top" width="99" class="calibre18"><p class="msonormal4"><span class="calibre19">R</span><span class="calibre20"/></p></td><td valign="top" width="99" class="calibre21"><p class="msonormal4"><span class="calibre19">R</span><span class="calibre20"/></p></td><td valign="top" width="99" class="calibre22"><p class="msonormal4"><span class="calibre19">R</span><span class="calibre20"/></p></td></tr><tr class="calibre11"><td valign="top" width="70" class="calibre23"><p class="msonormal3"><span class="calibre13">可修改性</span><span class="calibre13"/></p></td><td valign="top" width="99" class="calibre24"><p class="msonormal5"><span class="calibre20"><span> </span></span></p></td><td valign="top" width="99" class="calibre24"><p class="msonormal4"><span class="calibre19">R</span><span class="calibre20"/></p></td><td valign="top" width="99" class="calibre24"><p class="msonormal4"><span class="calibre19">R</span><span class="calibre20"/></p></td><td valign="top" width="99" class="calibre25"><p class="msonormal5"><span class="calibre20"><span> </span></span></p></td><td valign="top" width="99" class="calibre26"><p class="msonormal5"><span class="calibre20"><span> </span></span></p></td></tr><tr class="calibre11"><td valign="top" width="70" class="calibre27"><p class="msonormal3"><span class="calibre13">稳定性性</span><span class="calibre13"/></p></td><td valign="top" width="99" class="calibre28"><p class="msonormal5"><span class="calibre20"><span> </span></span></p></td><td valign="top" width="99" class="calibre28"><p class="msonormal5"><span class="calibre20"><span> </span></span></p></td><td valign="top" width="99" class="calibre28"><p class="msonormal5"><span class="calibre20"><span> </span></span></p></td><td valign="top" width="99" class="calibre29"><p class="msonormal5"><span class="calibre20"><span> </span></span></p></td><td valign="top" width="99" class="calibre30"><p class="msonormal4"><span class="calibre19">R</span><span class="calibre20"/></p></td></tr><tr class="calibre11"><td valign="top" width="70" class="calibre31"><p class="msonormal3"><span class="calibre13">可测试性</span><span class="calibre13"/></p></td><td valign="top" width="99" class="calibre32"><p class="msonormal5"><span class="calibre20"><span> </span></span></p></td><td valign="top" width="99" class="calibre32"><p class="msonormal4"><span class="calibre19">R</span><span class="calibre20"/></p></td><td valign="top" width="99" class="calibre32"><p class="msonormal5"><span class="calibre20"><span> </span></span></p></td><td valign="top" width="99" class="calibre33"><p class="msonormal4"><span class="calibre19">R</span><span class="calibre20"/></p></td><td valign="top" width="99" class="calibre34"><p class="msonormal4"><span class="calibre19">R</span><span class="calibre20"/></p></td></tr></tbody></table>       可分析性 (基于代码的行数+基于代码重复的密度+基于方法代码的行数+段覆盖率)/3 可修改性 (段复杂度+基于代码重复的密度)/2 稳定性性 段覆盖率 可测试性 (段复杂度+基于方法代码的行数+段覆盖率)/3   其中页面中对应显示,级别分为4个等级: <table class="msotablemediumgrid3accent"><tbody class="calibre10"><tr class="calibre11"><td valign="top" width="62" class="calibre35"><p class="msonormal3"><span class="calibre13">级别</span><span class="calibre13"/></p></td><td valign="top" width="101" class="calibre36"><p class="msonormal3"><span class="calibre13">0</span><span class="calibre37"/></p></td><td valign="top" width="101" class="calibre36"><p class="msonormal3"><span class="calibre13">1</span><span class="calibre13"/></p></td><td valign="top" width="101" class="calibre36"><p class="msonormal3"><span class="calibre13">2</span><span class="calibre13"/></p></td><td valign="top" width="101" class="calibre38"><p class="msonormal3"><span class="calibre13">3</span><span class="calibre13"/></p></td><td valign="top" width="100" class="calibre39"><p class="msonormal3"><span class="calibre13">4</span><span class="calibre13"/></p></td></tr><tr class="calibre11"><td valign="top" width="62" class="calibre40"><p class="msonormal3"><span class="calibre13">描述</span><span class="calibre13"/></p></td><td valign="top" width="101" class="calibre41"><p class="msonormal3"><span class="calibre6">极差</span><span class="calibre6"/></p></td><td valign="top" width="101" class="calibre41"><p class="msonormal3"><span class="calibre6">差</span><span class="calibre6"/></p></td><td valign="top" width="101" class="calibre41"><p class="msonormal3"><span class="calibre6">中</span><span class="calibre6"/></p></td><td valign="top" width="101" class="calibre42"><p class="msonormal3"><span class="calibre6">良</span><span class="calibre6"/></p></td><td valign="top" width="100" class="calibre43"><p class="msonormal3"><span class="calibre6">优</span><span class="calibre6"/></p></td></tr></tbody></table>   ### [各项指标属性分级表]() 星云测试根据行业标准按照各项指标进行属性分级,用于最后的等级计算。 #### [基于代码的行数:]()   <table class="msotablemediumgrid3accent"><tbody class="calibre10"><tr class="calibre11"><td valign="top" width="112" class="calibre47"><p class="msonormal3"><span class="calibre13">分级</span><span class="calibre13"/></p></td><td valign="top" width="91" class="calibre48"><p class="msonormal3"><span class="calibre13">0</span><span class="calibre37"/></p></td><td valign="top" width="91" class="calibre48"><p class="msonormal3"><span class="calibre13">1</span><span class="calibre13"/></p></td><td valign="top" width="91" class="calibre48"><p class="msonormal3"><span class="calibre13">2</span><span class="calibre13"/></p></td><td valign="top" width="91" class="calibre49"><p class="msonormal3"><span class="calibre13">3</span><span class="calibre13"/></p></td><td valign="top" width="90" class="calibre50"><p class="msonormal3"><span class="calibre13">4</span><span class="calibre13"/></p></td></tr><tr class="calibre11"><td valign="top" width="112" class="calibre51"><p class="msonormal3"><span class="calibre13">基于代码的行数</span><span class="calibre13"/></p></td><td valign="top" width="91" class="calibre52"><p class="msonormal3"><span class="calibre6">&gt; 1310000</span><span class="calibre6"/></p></td><td valign="top" width="91" class="calibre52"><p class="msonormal3"><span class="calibre6">&gt; 655000</span><span class="calibre6"/></p></td><td valign="top" width="91" class="calibre52"><p class="msonormal3"><span class="calibre6">&gt; 246000</span><span class="calibre6"/></p></td><td valign="top" width="91" class="calibre53"><p class="msonormal3"><span class="calibre6">&gt; 66000</span><span class="calibre6"/></p></td><td valign="top" width="90" class="calibre54"><p class="msonormal3"><span class="calibre6">0</span><span class="calibre6"/></p></td></tr></tbody></table>   #### [基于代码重复的密度]() <table class="msotablemediumgrid3accent"><tbody class="calibre10"><tr class="calibre11"><td valign="top" width="140" class="calibre55"><p class="msonormal3"><span class="calibre13">分级</span><span class="calibre13"/></p></td><td valign="top" width="85" class="calibre56"><p class="msonormal3"><span class="calibre13">0</span><span class="calibre37"/></p></td><td valign="top" width="85" class="calibre56"><p class="msonormal3"><span class="calibre13">1</span><span class="calibre13"/></p></td><td valign="top" width="85" class="calibre56"><p class="msonormal3"><span class="calibre13">2</span><span class="calibre13"/></p></td><td valign="top" width="85" class="calibre57"><p class="msonormal3"><span class="calibre13">3</span><span class="calibre13"/></p></td><td valign="top" width="85" class="calibre58"><p class="msonormal3"><span class="calibre13">4</span><span class="calibre13"/></p></td></tr><tr class="calibre11"><td valign="top" width="140" class="calibre59"><p class="msonormal3"><span class="calibre13">基于代码重复的密度</span><span class="calibre13"/></p></td><td valign="top" width="85" class="calibre60"><p class="msonormal3"><span class="calibre6">&gt; 20%</span><span class="calibre6"/></p></td><td valign="top" width="85" class="calibre60"><p class="msonormal3"><span class="calibre6">&gt; </span><span class="calibre6">10</span><span class="calibre6">%</span><span class="calibre6"/></p></td><td valign="top" width="85" class="calibre60"><p class="msonormal3"><span class="calibre6">&gt; </span><span class="calibre6">5</span><span class="calibre6">%</span><span class="calibre6"/></p></td><td valign="top" width="85" class="calibre61"><p class="msonormal3"><span class="calibre6">&gt; </span><span class="calibre6">3%</span><span class="calibre6"/></p></td><td valign="top" width="85" class="calibre62"><p class="msonormal3"><span class="calibre6">&gt; </span><span class="calibre6">0</span><span class="calibre6">%</span><span class="calibre6"/></p></td></tr></tbody></table>   #### [基于代码段测试覆盖率(SC0)]() <table class="msotablemediumgrid3accent"><tbody class="calibre10"><tr class="calibre11"><td valign="top" width="126" class="calibre63"><p class="msonormal3"><span class="calibre13">分级</span><span class="calibre13"/></p></td><td valign="top" width="88" class="calibre64"><p class="msonormal3"><span class="calibre13">0</span><span class="calibre37"/></p></td><td valign="top" width="88" class="calibre64"><p class="msonormal3"><span class="calibre13">1</span><span class="calibre13"/></p></td><td valign="top" width="88" class="calibre64"><p class="msonormal3"><span class="calibre13">2</span><span class="calibre13"/></p></td><td valign="top" width="88" class="calibre65"><p class="msonormal3"><span class="calibre13">3</span><span class="calibre13"/></p></td><td valign="top" width="88" class="calibre66"><p class="msonormal3"><span class="calibre13">4</span><span class="calibre13"/></p></td></tr><tr class="calibre11"><td valign="top" width="126" class="calibre67"><p class="msonormal3"><span class="calibre13">基于段测试覆盖率</span><span class="calibre13"/></p></td><td valign="top" width="88" class="calibre68"><p class="msonormal3"><span class="calibre6">&gt; </span><span class="calibre6">0</span><span class="calibre6">%</span><span class="calibre6"/></p></td><td valign="top" width="88" class="calibre68"><p class="msonormal3"><span class="calibre6">&gt; </span><span class="calibre6">20</span><span class="calibre6">%</span><span class="calibre6"/></p></td><td valign="top" width="88" class="calibre68"><p class="msonormal3"><span class="calibre6">&gt; </span><span class="calibre6">60</span><span class="calibre6">%</span><span class="calibre6"/></p></td><td valign="top" width="88" class="calibre69"><p class="msonormal3"><span class="calibre6">&gt; </span><span class="calibre6">80%</span><span class="calibre6"/></p></td><td valign="top" width="88" class="calibre70"><p class="msonormal3"><span class="calibre6">&gt; </span><span class="calibre6">95</span><span class="calibre6">%</span><span class="calibre6"/></p></td></tr></tbody></table>   #### [基于代码段复杂度(JC0)]() 第一步,根据圈复杂度的范围确定在方法代码行中的百分比: <table class="msotablemediumgrid3accent1"><tbody class="calibre10"><tr class="calibre11"><td valign="top" width="126" class="calibre71"><p class="msonormal3"><span class="calibre13">分级</span><span class="calibre13"/></p></td><td valign="top" width="88" class="calibre72"><p class="msonormal3"><span class="calibre13">Low</span><span class="calibre37"/></p></td><td valign="top" width="88" class="calibre73"><p class="msonormal3"><span class="calibre13">Medium</span><span class="calibre13"/></p></td><td valign="top" width="88" class="calibre73"><p class="msonormal3"><span class="calibre13">High</span><span class="calibre13"/></p></td><td valign="top" width="88" class="calibre74"><p class="msonormal3"><span class="calibre13">Very high</span><span class="calibre13"/></p></td></tr><tr class="calibre11"><td valign="top" width="126" class="calibre75"><p class="msonormal3"><span class="calibre13">基于代码段复杂度</span><span class="calibre13"/></p></td><td valign="top" width="88" class="calibre76"><p class="msonormal3"><span class="calibre6">&gt; </span><span class="calibre6">0</span><span class="calibre6"/></p></td><td valign="top" width="88" class="calibre77"><p class="msonormal3"><span class="calibre6">&gt; </span><span class="calibre6">10</span><span class="calibre6"/></p></td><td valign="top" width="88" class="calibre77"><p class="msonormal3"><span class="calibre6">&gt; </span><span class="calibre6">20</span><span class="calibre6"/></p></td><td valign="top" width="88" class="calibre78"><p class="msonormal3"><span class="calibre6">&gt; </span><span class="calibre6">50</span><span class="calibre6"/></p></td></tr></tbody></table>       第二步,然后根据分布,我们使用下面的表格来计算等级 <table class="msotablemediumgrid3accent2"><tbody class="calibre10"><tr class="calibre11"><td valign="top" width="93" class="calibre79"><p class="msonormal3"><span class="calibre13">分级</span><span class="calibre13"/></p></td><td valign="top" width="150" class="calibre80"><p class="msonormal3"><span class="calibre13">Medium</span><span class="calibre13"/></p></td><td valign="top" width="150" class="calibre80"><p class="msonormal3"><span class="calibre13">High</span><span class="calibre13"/></p></td><td valign="top" width="150" class="calibre80"><p class="msonormal3"><span class="calibre13">Very High</span><span class="calibre13"/></p></td></tr><tr class="calibre11"><td valign="top" width="93" class="calibre81"><p class="msonormal3"><span class="calibre13">1</span><span class="calibre13"/></p></td><td valign="top" width="150" class="calibre82"><p class="msonormal3"><span class="calibre6">&lt; 50%</span><span class="calibre6"/></p></td><td valign="top" width="150" class="calibre82"><p class="msonormal3"><span class="calibre6">&lt; 15%</span><span class="calibre6"/></p></td><td valign="top" width="150" class="calibre83"><p class="msonormal3"><span class="calibre6">&lt; 5%</span><span class="calibre6"/></p></td></tr><tr class="calibre11"><td valign="top" width="93" class="calibre84"><p class="msonormal3"><span class="calibre13">2</span><span class="calibre13"/></p></td><td valign="top" width="150" class="calibre85"><p class="msonormal3"><span class="calibre6">&lt; 40%</span><span class="calibre6"/></p></td><td valign="top" width="150" class="calibre85"><p class="msonormal3"><span class="calibre6">&lt; 10%</span><span class="calibre6"/></p></td><td valign="top" width="150" class="calibre86"><p class="msonormal3"><span class="calibre6">&lt; 0%</span><span class="calibre6"/></p></td></tr><tr class="calibre11"><td valign="top" width="93" class="calibre87"><p class="msonormal3"><span class="calibre13">3</span><span class="calibre13"/></p></td><td valign="top" width="150" class="calibre88"><p class="msonormal3"><span class="calibre6">&lt; 30%</span><span class="calibre6"/></p></td><td valign="top" width="150" class="calibre88"><p class="msonormal3"><span class="calibre6">&lt; 5%</span><span class="calibre6"/></p></td><td valign="top" width="150" class="calibre89"><p class="msonormal3"><span class="calibre6">&lt; 0%</span><span class="calibre6"/></p></td></tr><tr class="calibre11"><td valign="top" width="93" class="calibre90"><p class="msonormal3"><span class="calibre13">4</span><span class="calibre37"/></p></td><td valign="top" width="150" class="calibre91"><p class="msonormal3"><span class="calibre6">&lt; 25%</span><span class="calibre6"/></p></td><td valign="top" width="150" class="calibre91"><p class="msonormal3"><span class="calibre6">&lt; 0%</span><span class="calibre6"/></p></td><td valign="top" width="150" class="calibre92"><p class="msonormal3"><span class="calibre6">&lt; 0%</span><span class="calibre6"/></p></td></tr></tbody></table> 不在上述范围,否则等级是0 #### [基于方法代码的行数(Unit size)]() 第一步,根据行数的范围确定方法代码行数的百分比: <table class="msotablemediumgrid3accent1"><tbody class="calibre10"><tr class="calibre11"><td valign="top" width="140" class="calibre93"><p class="msonormal3"><span class="calibre13">分级</span><span class="calibre13"/></p></td><td valign="top" width="85" class="calibre94"><p class="msonormal3"><span class="calibre13">Low</span><span class="calibre37"/></p></td><td valign="top" width="85" class="calibre94"><p class="msonormal3"><span class="calibre13">Medium</span><span class="calibre13"/></p></td><td valign="top" width="85" class="calibre94"><p class="msonormal3"><span class="calibre13">High</span><span class="calibre13"/></p></td><td valign="top" width="84" class="calibre95"><p class="msonormal3"><span class="calibre13">Very high</span><span class="calibre13"/></p></td></tr><tr class="calibre11"><td valign="top" width="140" class="calibre96"><p class="msonormal3"><span class="calibre13">基于方法代码的行数</span><span class="calibre13"/></p></td><td valign="top" width="85" class="calibre97"><p class="msonormal3"><span class="calibre6">&gt; </span><span class="calibre6">0</span><span class="calibre6"/></p></td><td valign="top" width="85" class="calibre97"><p class="msonormal3"><span class="calibre6">&gt; </span><span class="calibre6">10</span><span class="calibre6"/></p></td><td valign="top" width="85" class="calibre97"><p class="msonormal3"><span class="calibre6">&gt; </span><span class="calibre6">50</span><span class="calibre6"/></p></td><td valign="top" width="84" class="calibre98"><p class="msonormal3"><span class="calibre6">&gt; </span><span class="calibre6">100</span><span class="calibre6"/></p></td></tr></tbody></table>       第二步,然后根据分布,使用下面的表格来计算等级: <table class="msotablemediumgrid3accent2"><tbody class="calibre10"><tr class="calibre11"><td valign="top" width="93" class="calibre99"><p class="msonormal3"><span class="calibre13">分级</span><span class="calibre13"/></p></td><td valign="top" width="150" class="calibre100"><p class="msonormal3"><span class="calibre13">Medium</span><span class="calibre13"/></p></td><td valign="top" width="150" class="calibre100"><p class="msonormal3"><span class="calibre13">High</span><span class="calibre13"/></p></td><td valign="top" width="150" class="calibre100"><p class="msonormal3"><span class="calibre13">Very High</span><span class="calibre13"/></p></td></tr><tr class="calibre11"><td valign="top" width="93" class="calibre101"><p class="msonormal3"><span class="calibre13">1</span><span class="calibre13"/></p></td><td valign="top" width="150" class="calibre102"><p class="msonormal3"><span class="calibre6">&lt; 50%</span><span class="calibre6"/></p></td><td valign="top" width="150" class="calibre102"><p class="msonormal3"><span class="calibre6">&lt; 15%</span><span class="calibre6"/></p></td><td valign="top" width="150" class="calibre103"><p class="msonormal3"><span class="calibre6">&lt; 5%</span><span class="calibre6"/></p></td></tr><tr class="calibre11"><td valign="top" width="93" class="calibre104"><p class="msonormal3"><span class="calibre13">2</span><span class="calibre13"/></p></td><td valign="top" width="150" class="calibre105"><p class="msonormal3"><span class="calibre6">&lt; 40%</span><span class="calibre6"/></p></td><td valign="top" width="150" class="calibre105"><p class="msonormal3"><span class="calibre6">&lt; 10%</span><span class="calibre6"/></p></td><td valign="top" width="150" class="calibre106"><p class="msonormal3"><span class="calibre6">&lt; 0%</span><span class="calibre6"/></p></td></tr><tr class="calibre11"><td valign="top" width="93" class="calibre107"><p class="msonormal3"><span class="calibre13">3</span><span class="calibre13"/></p></td><td valign="top" width="150" class="calibre108"><p class="msonormal3"><span class="calibre6">&lt; 30%</span><span class="calibre6"/></p></td><td valign="top" width="150" class="calibre108"><p class="msonormal3"><span class="calibre6">&lt; 5%</span><span class="calibre6"/></p></td><td valign="top" width="150" class="calibre109"><p class="msonormal3"><span class="calibre6">&lt; 0%</span><span class="calibre6"/></p></td></tr><tr class="calibre11"><td valign="top" width="93" class="calibre110"><p class="msonormal3"><span class="calibre13">4</span><span class="calibre37"/></p></td><td valign="top" width="150" class="calibre111"><p class="msonormal3"><span class="calibre6">&lt; 25%</span><span class="calibre6"/></p></td><td valign="top" width="150" class="calibre111"><p class="msonormal3"><span class="calibre6">&lt; 0%</span><span class="calibre6"/></p></td><td valign="top" width="150" class="calibre112"><p class="msonormal3"><span class="calibre6">&lt; 0%</span><span class="calibre6"/></p></td></tr></tbody></table> 否则等级为0。