深圳品牌网站建设公司哪家好,学建网站 必须学那些知识,亚马逊紧急联系电话会关联吗,加强网站互动交流平台建设自查SonarQube代码质量管理平台安装与使用 注原文地址#xff1a;http://blog.csdn.net/hunterno4/article/details/11687269Sonar简介 Sonar是一个用于代码质量管理的开源平台#xff0c;用于管理源代码的质量#xff0c;可以从七个维度检测代码质量 通过插件形式#xff0c;可… SonarQube代码质量管理平台安装与使用 注原文地址http://blog.csdn.net/hunterno4/article/details/11687269 Sonar简介 Sonar是一个用于代码质量管理的开源平台用于管理源代码的质量可以从七个维度检测代码质量 通过插件形式可以支持包括java,C#,C/C,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测sonarQube能带来什么Developers Seven Deadly Sins1.糟糕的复杂度分布 文件、类、方法等如果复杂度过高将难以改变这会使得开发人员难以理解它们 且如果没有自动化的单元测试对于程序中的任何组件的改变都将可能导致需要全面的回归测试 2.重复 显然程序中包含大量复制粘贴的代码是质量低下的 sonar可以展示源码中重复严重的地方 3.缺乏单元测试 sonar可以很方便地统计并展示单元测试覆盖率 4.没有代码标准 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写5.没有足够的或者过多的注释 没有注释将使代码可读性变差特别是当不可避免地出现人员变动时程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上亦违背初衷6.潜在的bug sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的bug 7.糟糕的设计原文Spaghetti Design意大利面式设计 通过sonar可以找出循环展示包与包、类与类之间的相互依赖关系 可以检测自定义的架构规则 通过sonar可以管理第三方的jar包 可以利用LCOM4检测单个任务规则的应用情况 检测耦合关于Spaghetti Designhttp://docs.codehaus.org/display/SONAR/SpaghettiDesign通过sonar可以有效检测以上在程序开发过程中的七大问题 SonarQube安装预置条件1.已安装Java环境2.已安装有MySQL数据库软件下载地址http://www.sonarqube.org/downloads/下载SonarQube与SonarQube Runner中文补丁包下载http://docs.codehaus.org/display/SONAR/ChinesePack1.数据库配置进入数据库命令#mysql -u root -pmysql CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; mysql CREATE USER sonar IDENTIFIED BY sonar;mysql GRANT ALL ON sonar.* TO sonar% IDENTIFIED BY sonar;mysql GRANT ALL ON sonar.* TO sonarlocalhost IDENTIFIED BY sonar;mysql FLUSH PRIVILEGES;2.安装sonar与sonar-runner将下载的sonar-3.7.zip包解压至Linux某路径如/usr/local将下载的sonar-runner-dist-2.3.zip包解压某路径/usr/local添加SONAR_HOME、SONAR_RUNNER_HOME环境变量并将SONAR_RUNNER_HOME加入PATH 修改sonar配置文件编辑install_directory/conf/sonar.properties文件配置数据库设置默认已经提供了各类数据库的支持这里使用mysql因此取消mysql模块的注释#vi sonar.properties [java] view plaincopy sonar.jdbc.username: sonar sonar.jdbc.password: sonar sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicodetruecharacterEncodingutf8rewriteBatchedStatementstrue # Optional properties sonar.jdbc.driverClassName: com.mysql.jdbc.Driver 修改sonar-runner的配置文件切换至sonar-runner的安装目录下修改sonar-runner.properties根据实际使用数据库情况取消相应注释 [java] view plaincopy #Configure here general information about the environment, such as SonarQube DB details for example #No information about specific project should appear here #----- Default SonarQube server sonar.host.urlhttp://localhost:9000 #----- PostgreSQL #sonar.jdbc.urljdbc:postgresql://localhost/sonar #----- MySQL sonar.jdbc.urljdbc:mysql://localhost:3306/sonar?useUnicodetruecharacterEncodingutf8 #----- a hrefhttp://lib.csdn.net/base/oracle classreplace_word titleOracle知识库 target_blank stylecolor:#df3434; font-weight:bold;Oracle/a #sonar.jdbc.urljdbc:oracle:thin:localhost/XE #----- Microsoft SQLServer #sonar.jdbc.urljdbc:jtds:sqlserver://localhost/sonar;SelectMethodCursor #----- Global database settings sonar.jdbc.usernamesonar sonar.jdbc.passwordsonar #----- Default source code encoding sonar.sourceEncodingUTF-8 #----- Security (when sonar.forceAuthentication is set to true) sonar.loginadmin sonar.passwordadmin 3.添加数据库驱动除了Oracle数据库外其它数据库驱动都默认已经提供了且这些已添加的驱动是sonar唯一支持的因此不需要修改如果是Oracle数据库需要复制JDBC驱动至install_directory/extensions/jdbc-driver/oracle目录 4.启动服务目录切换至sonar的install_directory/bin/linux-x86-64/目录启动服务#./sonar.sh start 启动服务#./sonar.sh stop 停止服务#./sonar.sh restart 重启服务至此sonar就安装好了访问http:\\localhost:9000即可 5.sonar中文补丁包安装中文包安装安装中文补丁包可以通过访问http:\\localhost:9000打开sonar后进入更新中心安装或者下载中文补丁包后放到SONARQUBE_HOME/extensions/plugins目录然后重启SonarQube服务 sonar作为Linux服务并开机自启动新建文件/etc/init.d/sonar输入如下内容 [java] view plaincopy #!/bin/sh # # rc file for SonarQube # # chkconfig: 345 96 10 # description: SonarQube system (www.sonarsource.org) # ### BEGIN INIT INFO # Provides: sonar # Required-Start: $network # Required-Stop: $network # Default-Start: 3 4 5 # Default-Stop: 0 1 2 6 # Short-Description: SonarQube system (www.sonarsource.org) # Description: SonarQube system (www.sonarsource.org) ### END INIT INFO /usr/bin/sonar $* SonarQube开机自启动Ubuntu, 32位 sudo ln -s $SONAR_HOME/bin/linux-x86-32/sonar.sh /usr/bin/sonarsudo chmod 755 /etc/init.d/sonarsudo update-rc.d sonar defaults SonarQube开机自启动RedHat, CentOS, 64位 sudo ln -s $SONAR_HOME/bin/linux-x86-64/sonar.sh /usr/bin/sonarsudo chmod 755 /etc/init.d/sonarsudo chkconfig --add sonar 使用SonarQube Runner分析源码 预置条件已安装SonarQube Runner且环境变量已配置即sonar-runner命令可在任意目录下执行1.在项目源码的根目录下创建sonar-project.properties配置文件以Android项目为例 [java] view plaincopy sonar.projectKeyandroid-sonarqube-runner sonar.projectNameSimple Android project analyzed with the SonarQube Runner sonar.projectVersion1.0 sonar.sourcessrc sonar.binariesbin/classes sonar.languagejava sonar.sourceEncodingUTF-8 sonar.profileAndroid Lint 注要使用Android Lint规则分析需要先访问http:\\localhost:9000更新中心添加Android Lint插件使其可以分析Android Lint规则2.执行分析切换到项目源码根目录执行命令# sonar-runner分析成功后访问http:\\localhost:9000即可查看分析结果不同参数的意思http://docs.codehaus.org/display/SONAR/AnalysisParameters不同项目的源码分析示例下载https://github.com/SonarSource/sonar-examples/zipball/master 与IDE关联 最后当然了得与IDE相关联才能更方便地实时查看 以Eclipse为例请见http://docs.sonarqube.org/display/SONAR/SonarQubeinEclipse 附 sonarQube官网地址http://www.sonarqube.org/sonarQube官方文档地址http://docs.codehaus.org/display/SONAR/DocumentationsonarQube示例地址http://nemo.sonarqube.org/ 网上另两篇相关的文章http://www.cnblogs.com/gao241/p/3190701.html http://www.myexception.cn/open-source/1307345.html 转载于:https://www.cnblogs.com/Skyyj/p/6732544.html