`
Surlymo
  • 浏览: 97034 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

格式化代码、风格检查、代码漏洞检查以及UT覆盖率检查

阅读更多

    在敏捷开发中,随着文档地位不断被削弱,此时代码的可读性和质量往往成为直接决定项目是否健壮可维护的关键。这就要求我们的代码具有良好的风格(包括注释、命名等)、代码格式标准、程序没有非法调用和低级bug,以及用以对功能进行解释的单元测试能够尽可能多地覆盖核心功能。如果每次我们都手动去依次检查这些点是否达标,那持续集成将变得无比缓慢。更遑论持续交付了。

    所以在持续集成(CI)的过程中,每次local build的时候,我们可以利用一些maven插件对代码进行以上需求的自动化校准或校验。宥于时间,所以此处不能对每个插件的使用进行详细说明。以后有时间会进行详细整理。以下我们依次进行简单介绍。

 

一、代码格式化

eclipse插件:

打开eclipse,window --> Preferences --> Java --> Code Style --> Formatter



maven插件:

同时,在maven中导入插件可以保证在每次mvn install的时候都默认进行代码的自动格式化:

 

<plugin>
    <groupId>com.googlecode.maven-java-formatter-plugin</groupId>
    <artifactId>maven-java-formatter-plugin</artifactId>
    <version>0.4</version>
    <configuration>
        <configFile>formatter-profile.xml</configFile>
        <encoding>gbk</encoding>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>format</goal>
            </goals>
        </execution>
    </executions>
</plugin>	
  其中,如果不需要特定的配置文件指定,则无需引入<configuration>标签。

二、风格检查

eclipse插件:

checkstyle插件的安装见:http://orange5458.iteye.com/blog/1547851。此处建议采用手动安装,自动安装的地址在我使用过程中无法连接。此处摘取部分内容说明如下:

1)下载地址:http://sourceforge.net/projects/eclipse-cs/files/OldFiles/

2)将下载包解压后的features和plugins目录中的文件复制到%ECLIPSE_HOME%下的对应目录中

3)重启eclipse

默认将采用sun的风格标准进行代码风格检查,如果不采用默认的checkstyle配置,要导入配置文件只需:preferences--> checkstyle --> New --> External Configuration File. 并导入对应xml配置即可。checkstyle配置文件的说明见:http://blog.csdn.net/kaiqi239/article/details/5734785



 

常用方法:

1、手动检查:

待检查目标点击右键 --> checkstyle --> check code with checkstyle

2、清除检查结果:

待检查目标点击右键 --> checkstyle --> clear checkstyle voilations

3、查看风格报警信息:

window --> show view --> checkstyle violations

maven插件:

除此之外,我们可以采用checkstyle的maven插件来实现与持续集成的绑定,详细见http://blog.csdn.net/kongxx/article/details/7750015

 

三、代码漏洞检查

eclipse插件:

采用findbugs来进行代码检查。http://tidus2005.iteye.com/blog/462212 中对eclipse中如何安装和使用findbugs进行了较为详细的说明。此处不再赘述。

maven插件:

如果要引入其maven插件,仅需:

 

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>findbugs-maven-plugin</artifactId>
    <version>2.3.1</version>
    <configuration>
        <threshold>High</threshold>
        <findbugsXmlOutput>true</findbugsXmlOutput>
        <findbugsXmlOutputDirectory>.</findbugsXmlOutputDirectory>
	<findbugsHtmlOutput>true</findbugsHtmlOutput>	<findbugsHtmlOutputDirectory>target/site</findbugsHtmlOutputDirectory>
    </configuration>
    <executions>
        <execution>
            <id>findbugs</id>
            <phase>verify</phase>
            <goals>
                <goal>findbugs</goal>
            </goals>
        </execution>
    </executions>
</plugin>

 

然后执行:

 

mvn org.codehaus.mojo:findbugs-maven-plugin:2.0.1:findbugs

即可获得对应的报告数据。这样hudson或者jenkins的CI平台,就可以依据报告进行代码漏洞的分析。

 

四、UT覆盖率检查

eclipse插件:

采用cobertura进行UT覆盖率检查。eclipse的cobertura插件名为ecobertura,详细请见:http://ecobertura.johoop.de/

maven插件:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>cobertura-maven-plugin</artifactId>
    <version>2.5.1</version>
    <configuration>
        <formats>
            <format>xml</format>
        </formats>
        <aggregate>true</aggregate>
        <instrumentation>
            <includes>
                <include>${cobertura.include}</include>
            </includes>
        </instrumentation>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>clean</goal>
                <goal>cobertura</goal>
            </goals>
        </execution>
     </executions>
</plugin>

 执行:

mvn clean cobertua:cobertura

 即可生成报告。依此结合CI平台进行相应的分析和管控。

 

 

 

 

 

  • 大小: 58.4 KB
  • 大小: 157 KB
分享到:
评论

相关推荐

    Sonar开源的Java源代码管理平台UT覆盖率.pdf

    Sonar 开源 Java 源代码管理平台 UT 覆盖率 Sonar 是一个开源的 Java 源代码管理平台,用于管理 Java 源代码的质量。Sonar 提供了一个质量数据报告工具和代码质量管理平台,帮助开发者提高代码质量和降低维护成本。...

    VS2019-OpenCppCoverage插件-覆盖率报告生成-详细使用文档说明

    文档包含OpenCppCoverage插件的插件,OpenCppCoverage详细使用文档说明,主要是用来做VS2019的代码覆盖率的,适合UT单元测试, OpenCppCoverage说明: 1、使用OpenCppCoverag可以查看整个C/C++文件的覆盖率和覆盖...

    (Vector Cast)UT 工程的总结问题

    总之,Vector Cast UT工程的总结涉及了单元测试的实施、代码覆盖率的评估以及持续集成的集成。理解并掌握这些问题的解决方法,有助于提高软件质量和开发效率,确保软件产品的可靠性。在实际操作中,不断学习和适应...

    vs-code-coverage-status:在VS Code状态栏中显示代码覆盖率指标

    Coverage Status是一个Visual Studio Code插件,可在状态栏中显示SimpleCov或LCOV格式的代码覆盖率。 要求 为了使用此扩展,您需要有可用的代码覆盖率数据。 该扩展支持用于Ruby项目的SimpleCov,以及用于所有其他...

    UT风格for Discuz!2.0

    "UT风格for Discuz!2.0" 是一个专为Discuz! 2.0版本设计的PHP论坛皮肤。Discuz!是一款广泛使用的开源社区论坛软件,由康盛创想(Comsenz)公司开发,它允许用户创建和管理自己的在线论坛。这款UT风格的皮肤是针对...

    UT测试与动态打桩源代码

    总的来说,"UT测试与动态打桩源代码"这个资源对开发者来说非常有价值,它可以帮助他们更有效地进行代码自测,提高代码质量和项目的可维护性。通过学习和应用这些技术和工具,开发者可以更好地理解和实践单元测试与...

    UT163UT165打开隐藏功能&常见问题代码解决方法

    - **错误代码0x44**:解决方案包括擦除全部块、重新低级格式化并设置forcesingleplane、调整bit为1以及使用特定版本的软件。 #### 三、隐藏功能激活与使用 UT163与UT165的量产工具默认禁用了一些功能,如F6(擦除好...

    ut 2hacker 代码

    【标题】"ut 2hacker 代码"指的是一个与黑客相关的编程代码集合,可能是用于安全测试、漏洞发现或防御措施。"ut"通常代表"unit test",可能表示这些代码包含了一些单元测试用例,用于验证特定的安全功能或检测黑客...

    utaustinvilla球队源代码

    《utaustinvilla球队源代码》是一份珍贵的资源,主要涵盖了RoboCup仿真3D领域的编程实践。RoboCup3D是一项国际性的机器人足球比赛,它使用三维模拟环境来模拟真实的足球比赛,旨在推动人工智能、机器人技术以及多...

    java UT mockito配套代码

    10. **Mockito注解**:`@Mock`、`@Spy`和`@Captor`注解可以用于字段初始化,简化测试代码的编写。 在使用Mockito进行单元测试时,通常会结合JUnit或其他测试框架,编写测试类,定义测试方法,并在其中配置模拟对象...

    C开源hash代码uthash

    uthash 是C的比较优秀的开源代码,它实现了常见的hash操作函数,例如查找、插入、删除等待。该套开源代码采用宏的方式实现hash函数的相关功能,支持C语言的任意数据结构最为key值,甚至可以采用多个值作为key,无论...

    UtTest 练习

    UtTest 还支持测试用例的分组、测试结果的自定义报告以及测试覆盖率分析等功能。通过熟练掌握 UtTest,开发者可以建立一个健壮的测试框架,为项目的持续集成和持续交付提供坚实的基础。 在进行 UtTest 练习时,你...

    USBest UT/IT系列u盘格式化工具v3.3.1.71B.rar

    软件介绍: ...新版本的USB Flash Disk Format Tool,适合台电酷闪盘USBest UT161,UT162,UT163,UT165,UT190, IT1167,IT1168,IT1169系列u盘格式化工具包括2个版本,分别是:v3.3.1.71B和v3.3.0.89B

    UT163U盘量产错误代码code0x54 0xA2解决方法

    在IT领域,U盘量产是一种对USB闪存设备进行初始化和格式化的技术,通常用于修复故障、优化性能或恢复丢失的分区。UT163U盘出现错误代码0x54 0xA2可能是因为固件问题、硬件故障或者不兼容的驱动程序导致的。下面我们...

    Ut.rar_java 开发ut包_javaut demo_java工具_java工具类_基础工具

    1. **单元测试(Unit Testing)**:Ut.java 文件很可能是一个用于编写单元测试的工具类,单元测试是对程序中最小可测试单元进行检查和验证。在Java中,我们通常使用JUnit框架进行单元测试。Ut包可能是对JUnit的一个...

    UT161/UT162/UT163/UT165/UT190格式化工具v3.1.1.0.zip

    软件介绍: USB Flash Disk Format Tool v3.1.1.0格式化工具USB Flash Disk Format Tool:支持UT161; UT162; UT163; UT165; UT190系列主控芯片U盘

    RTD2795T/RTD2795UT 源代码

    标题中的“RTD2795T/RTD2795UT 源代码”指的是基于RTD2795T和RTD2795UT芯片的软件开发源码,这两个芯片通常用于视频信号转换,特别是从HDMI和DP接口转换到eDP接口。在数字显示技术中,RTD2795T和RTD2795UT是由...

    ut贪吃蛇代码

    【标题】"ut贪吃蛇代码"所指的是一款使用Unity引擎(通常简称为UT)开发的简单贪吃蛇游戏。Unity是目前非常流行的游戏开发平台,支持2D和3D游戏开发,广泛应用于移动、桌面及网页等多种平台。这款贪吃蛇游戏是作者...

    pyhton的UT测试介绍

    * 降低代码的错误率 * 提高开发效率和产品质量 UT 测试的使用方法 在 Python 中,UT 测试通常使用 unittest 模块来实现。unittest 模块提供了一个测试框架,允许开发者编写和运行测试用例。下面是一个简单的 UT ...

Global site tag (gtag.js) - Google Analytics