辽宁公司网站建设,移动互联网开发心得体会,网站icp备案有效时间,iis5.1怎么新建网站Sonarqube #xff08;nee Sonar#xff09;是炸弹。 不必每天检查一次#xff0c;但是如果您对质量很认真#xff0c;则可以在Sprint计划期间#xff08;如果不是每周一次#xff09;对其进行检查。 在nemo.sonarqube.com上查看示例项目#xff0c;例如OpenJPA #… Sonarqube nee Sonar是炸弹。 不必每天检查一次但是如果您对质量很认真则可以在Sprint计划期间如果不是每周一次对其进行检查。 在nemo.sonarqube.com上查看示例项目例如OpenJPA 以了解可用的信息。 您可能首先需要专注于特定组件例如OpenJPA JDBC 。 作为开发人员我对“问题”主要是FindBugs和Squid和“单元测试覆盖率”最感兴趣。 作为一名架构师我最感兴趣的是“包装缠结指数”和“复杂性” –前者是对封装和去耦进行适当衡量的方法后者是对可维护性进行衡量的方法。 重要的是要用适量的盐查看这些数字。 他们提供了宝贵的见解但需要一些经验才能充分利用它们。 这就是为什么要使这些信息远离Bean计数器很重要因为Bean计数器会设置不合理的标准例如在所有单元测试中90的代码覆盖率。 如果您拥有丰富的异常处理能力但没有办法模拟将引发这些异常的类那么这将是不可能实现的。只有傻瓜才能用代码健壮性换取更高的分数。 安装Sonarqube 安装声纳法很简单。 它与自己的webapp服务器和嵌入式数据库捆绑在一起因此您只需解压缩并运行启动脚本即可将其检出。 生产系统应使用真实的数据库。 支持多个数据库。 检查sonarqube网站以获取详细信息。 创建我们的项目 我承认–创建项目非常违反直觉。 简而言之一切都是通过将数据推送到服务器来处理的而无需先在声纳服务器上创建任何东西。 您仍然需要在sonarqube服务器上创建管理员用户。 实际上这意味着我们添加了一个maven插件。 这是一个昂贵的插件因此通常使用自定义配置文件例如“声纳”用于旧名称。 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdprofilesprofileidsonar/idpropertiessonar.languagejava/sonar.languagesonar.host.urlhttp://chaos:9000/sonar.host.urlsonar.jdbc.urljdbc:postgresql://chaos/sonar/sonar.jdbc.urlsonar.jdbc.usernamesonar/sonar.jdbc.usernamesonar.jdbc.passwordsonar/sonar.jdbc.password/propertiesbuildpluginsplugingroupIdorg.jacoco/groupIdartifactIdjacoco-maven-plugin/artifactIdversion0.6.4.201312101107/versionexecutionsexecutioniddefault-prepare-agent/idgoalsgoalprepare-agent/goal/goals/executionexecutioniddefault-prepare-agent-integration/idgoalsgoalprepare-agent-integration/goal/goals/executionexecutioniddefault-report/idgoalsgoalreport/goal/goals/executionexecutioniddefault-report-integration/idgoalsgoalreport-integration/goal/goals/executionexecutioniddefault-check/idgoalsgoalcheck/goal/goalsconfigurationrules!-- implmentation is needed only for Maven 2 --rule implementationorg.jacoco.maven.RuleConfigurationelementBUNDLE/elementlimits!-- implmentation is needed only for Maven 2 --limit implementationorg.jacoco.report.check.LimitcounterCOMPLEXITY/countervalueCOVEREDRATIO/valueminimum0.60/minimum/limit/limits/rule/rules/configuration/execution/executions/plugin/plugins/build/profile/profiles
/project更新我们的项目 声纳插件很昂贵因此不应将其作为例行程序的一部分运行。 一种常见的做法是安排在CI服务器HudsonContinuum等上进行每晚构建。开发人员可能还希望在处理问题积压时执行计划外构建–一种解决方案引入其他较低优先级的情况并不罕见。问题。 源代码 使用此插件的示例项目位于https://github.com/beargiles/project-student [github]和http://beargiles.github.io/project-student/ [github页面]。 这个项目说明需要对我们如何解释结果有一定的认识。 我使用两种常见的做法-抛出内部异常而不是返回空值并使用自定义的UnitTestException测试失败代码而不会在日志中堆满无关的信息。 该代码看起来与可疑代码相同因此已正确标记但似乎没有办法消除鱿鱼警告。 Findbugs有其自己的SuppressWarnings注释。 总体而言这仍然是一个巨大的胜利。 更新可以通过sonarqube的“质量配置文件”选项卡控制鱿鱼警告。这可用于将严重性级别降低为“信息”但由于这些有时是合法警告因此我不愿直接禁用这些测试。为什么我强烈希望使用每个实例的FindBugs SuppressWarnings注释而不是更改这些警告级别。 参考 Invariant Properties博客中的JCG合作伙伴 Bear Giles 创建Sonarqube项目 。 翻译自: https://www.javacodegeeks.com/2014/02/creating-sonarqube-projects.html