<html>
<head>
<title>Evernote Export</title>
<basefont face="微软雅黑" size="2" />
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="exporter-version" content="Evernote Windows/308094 (zh-CN, DDL); Windows/6.1.1 (Win64);"/>
<style>
body, td {
font-family: 微软雅黑;
font-size: 10pt;
}
</style>
</head>
<body>
<a name="1751"/>
<div>
<span><div><div style="margin-top: 1em; margin-bottom: 1em;">安全审计问题->代码质量问题:</div><div style="margin-top: 1em; margin-bottom: 1em;"><span style="font-size: 12pt;">从最近的安全审计结果来看,出现了很多代码编码规范问题。</span></div><div style="margin-top: 1em; margin-bottom: 1em;"><br/></div><div style="margin-top: 1em; margin-bottom: 1em;">管理应用处—自研 代码质量管理</div><div style="margin-top: 1em; margin-bottom: 1em;"><font style="font-size: 24pt;"><span style="font-size: 24pt; font-weight: bold;">一、方案:</span></font></div><div style="margin-top: 1em; margin-bottom: 1em;">1.<span style="font-size: 12pt;">eclipse 代码检查插件,如alibaba code guidelines 【</span><span style="font-size: 12pt;">缺乏管理</span><span style="font-size: 12pt;">】</span></div><div style="margin-top: 1em; margin-bottom: 1em;"><span style="font-size: 12pt;"><img src="Sonar_files/Image.png" type="image/png" data-filename="Image.png" width="748"/></span></div><div style="margin-top: 1em; margin-bottom: 1em;"></div><div style="margin-top: 1em; margin-bottom: 1em;"><span style="font-size: 12pt;">2.Sonar(声呐) </span><span style="-en-paragraph:true;"><span style="font-size: 12pt;">开源代码质量管理平台 与jenkins 集成方便,自研项目组主要使用改平台作为代码质量管控。</span></span></div><div style="margin-top: 1em; margin-bottom: 1em;"></div><h1><span style="font-size: 24pt;">二、</span><span style="-en-paragraph:true;"><span style="font-size: 24pt;">Sonar</span></span></h1><h1><span style="font-size: 24pt;">1.简介</span></h1><div style="margin-top: 1em; margin-bottom: 1em;"><span style="-en-paragraph:true;"> <span style="font-size: 16pt;">sonar(SonarQube)是一个开源代码质量管理平台。它通过插件的形式来管理代码,它支持的语言包括:Java,PHP,C#,C等。</span></span></div><div style="margin-top: 1em; margin-bottom: 1em;"><span style="-en-paragraph:true;"><span style="font-size: 16pt;">7个原则:</span></span></div><div><span style="font-size: 16pt;">1. 不遵循代码标准 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写。 </span></div><div><span style="font-size: 16pt;">2. 潜在的缺陷 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检 测出潜在的缺陷。 </span></div><div><span style="font-size: 16pt;">3. 糟糕的复杂度分布 文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员 难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试。 </span></div><div><span style="font-size: 16pt;">4. 重复 显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示 源码中重复严重的地方。 </span></div><div><span style="font-size: 16pt;">5. 注释不足或者过多 没有注释将使代码可读性变差,特别是当不可避免地出现人员变动 时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。 </span></div><div><span style="font-size: 16pt;">6. 缺乏单元测试 sonar可以很方便地统计并展示单元测试覆盖率。 </span></div><div><span style="font-size: 16pt;">7. 糟糕的设计 通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则 通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测藕合。</span></div><div><br/></div><div><font style="font-size: 24pt;"><span style="font-size: 24pt; font-weight: bold;">使用:</span></font></div><div><span style="font-weight: bold; font-size: 14pt;">1.服务端 sonarqube 地址:10.7.141.2:9000</span></div><div><font style="font-size: 14pt;"><br/></font></div><div><span style="font-size: 14pt;"><span style="font-size: 14pt; font-weight: bold;"><img src="Sonar_files/Image [1].png" type="image/png" data-filename="Image.png"/></span></span></div><div><font style="font-size: 24pt;"><br/></font></div><div><font style="font-size: 24pt;"><br/></font></div><div><span style="font-size: 24pt;"><span style="font-size: 24pt; font-weight: bold;"><img src="Sonar_files/Image [2].png" type="image/png" data-filename="Image.png"/></span></span></div><div><br/></div><div><br/></div><ol start="2"><li><div><span style="font-size: 14pt;"><span style="font-size: 14pt; font-weight: bold;">客户端使用</span></span></div></li></ol><div><br/></div><div><span style="font-size: 14pt;"><span style="font-size: 14pt; font-weight: bold;"> maven 项目可以在工程目录进行:</span></span></div><div><span style="font-size: 12pt;"> mvn sonar:sonar -D</span><span style="font-size: 12pt;">sonar.host.url=</span><a href="http://10.7.141.2:9000/" style="font-size: 12pt;">http://10.7.141.2:9000</a><span style="font-size: 12pt;"> </span><span style="font-size: 12pt;">-Dsonar.login=ba5f4cc2a83232085d1b3084cd4d01de21d2e783</span></div><div><br/></div><div><span style="font-size: 12pt;"> 建议在ide中使用sonarLint插件:</span></div><ol><li><div style="margin-top: 1em; margin-bottom: 1em;">eclipse idea 安装 sonarlint插件</div></li></ol><div style="margin-top: 1em; margin-bottom: 1em;"><span style="font-size: 12pt;"> idea : File -> settings -> plugins 搜索sonarLint</span></div><div style="margin-top: 1em; margin-bottom: 1em;"><span style="font-size: 12pt;"> eclipse : help-> marketplace->sonarlint</span></div><div style="margin-top: 1em; margin-bottom: 1em;"><span style="font-size: 12pt;"> 重启 已生效 打开代码即可自动检测 ,</span><span style="font-size: 12pt;">或者鼠标右键项目或java文件 选择 analyze</span></div><div style="margin-top: 1em; margin-bottom: 1em;"><span style="font-size: 12pt;"> 示例:</span></div><div style="margin-top: 1em; margin-bottom: 1em;"><span style="font-size: 12pt;"> <img src="Sonar_files/Image [3].png" type="image/png" data-filename="Image.png" width="535"/></span></div><div style="margin-top: 1em; margin-bottom: 1em;"></div><div style="margin-top: 1em; margin-bottom: 1em;"><span style="font-size: 12pt;"> ps:</span><span style="font-size: 12pt;"><span style="font-size: 12pt; color: rgb(255, 0, 0);">sonarlint需要jdk1.8及以上</span>。如果不是,请重新设置jdk,重启eclipse。</span></div><div style="margin-top: 1em; margin-bottom: 1em;"><span style="font-size: 12pt;"> 如果发现</span><span style="font-size: 12pt;">还是无法出现sonar插件。还需要在配置一个地方,需要修改你的eclipse.ini文件,修改如下:</span></div><div><span style="font-size: 12pt;"> -vm </span><span style="font-size: 12pt;">C:/Program Files/Java/jdk1.8.0_31/bin/javaw.exe </span><span style="font-size: 12pt;">-vmargs </span><span style="font-size: 12pt;">-Dosgi.requiredJavaVersion=1.8</span></div><div><br/></div><ol start="2"><li><div style="margin-top: 1em; margin-bottom: 1em;">客户端关联服务端sonarqube</div></li></ol><div style="margin-top: 1em; margin-bottom: 1em;"><span style="font-size: 12pt; font-family: "microsoft yahei";">1)提交本地检测结果至服务端:</span></div><div style="margin-top: 1em; margin-bottom: 1em;">右键项目:maven build </div><div style="margin-top: 1em; margin-bottom: 1
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
sonar(SonarQube)是一个开源代码质量管理平台。它通过插件的形式来管理代码,它支持的语言包括:Java,PHP,C#,C等。 7个原则: 1. 不遵循代码标准 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写。 2. 潜在的缺陷 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检 测出潜在的缺陷。 3. 糟糕的复杂度分布 文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员 难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试。 4. 重复 显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示 源码中重复严重的地方。 5. 注释不足或者过多 没有注释将使代码可读性变差,特别是当不可避免地出现人员变动 时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。 6. 缺乏单元测试 sonar可以很方便地统计并展示单元测试覆盖率。 7. 糟糕的设计 通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则 通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测藕合。
资源推荐
资源详情
资源评论
收起资源包目录
SonarQube.zip (11个子文件)
SonarQube
Sonar_files
Image [4].png 25KB
Image [7].png 23KB
Image [2].png 28KB
Image [3].png 21KB
Image [5].png 36KB
Image [8].png 22KB
Image.png 41KB
Image [1].png 20KB
Image [9].png 14KB
Image [6].png 23KB
Sonar.html 13KB
共 11 条
- 1
资源评论
- weixin_455198642019-10-29只有步骤图片其他的都没有
- 高头大马2019-10-24资源是一个实际使用的案例,里面提到原则,但写的并不是很细,比如sonar是如何统计重复以及代码注释等,总体而看,给出三星较为合适。最后,我不留QQ号,谢谢~
- swany2019-08-02好像资源不好Y~~~2019-08-12我用着好像还不错......不然你留个QQ号?
- Linfosheng12019-06-26假的资源,垃圾Y~~~2019-06-26不可能啊,我弄个假的,csdn 也不会要五分啊 你留个QQ号
Y~~~
- 粉丝: 12
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功