• 代码管理和检查平台汇总


    程序员离不开代码检查,有的是技术团队是每周五进行一次代码审核,有的团队是用Review Board等工具进行Code Review。有的团队是先用工具进行代码的静态分析,再进行人为的Code Review。

    下面我们总结了 代码静态分析工具、代码审核工具、代码质量管理平台、iOS分析工具。包含了java等服务端的工具,还有iOS的工具。

    一、代码静态分析

    静态分析 是指在不运行代码的条件下,进行代码分析。

    静态分析 可以是标示可能的错误代码,或者不符合规范的代码。

    比如 规范要求每个方法名首字母要小写,然后你写成了大写,静态分析工具就能分析出来。

    java等服务端代码可以用:

    1、Checkstyle :通过检查对代码编码格式,命名约定,Javadoc,类设计等方面进行代码规范和风格的检查,从而有效约束开发人员更好地遵循代码编写规范。

    2、FindBugs :通过检查类文件或 JAR 文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析。FindBugs 既提供可视化 UI 界面,同时也可以作为 Eclipse 插件使用。

    3、PMD :通过其内置的编码规则对 Java 代码进行静态检查,主要包括对潜在的 bug,未使用的代码,重复的代码,循环体创建新对象等问题的检验。

    二、代码审核工具

    Code Review也就是代码审核。代码审核工具最大的意义在于:只有经过别人审核通过的代码才能提交到 git或者svn的服务端。这样就保证了代码的水准。

    常用的代码审核工具:Review Board、Github 、Codestriker、Groogle 、Rietveld、JCR等。

    三、代码质量管理平台

    常用的:SonarQube,可以检测下面的问题:

    1、糟糕的复杂度分布

    文件、类、方法等,如果复杂度过高 将难以改变,并很容易出现问题。

    2、重复

    sonar可以展示源码中重复严重的地方

    3、缺乏单元测试

    统计单元测试覆盖率

    4、没有代码标准

    sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写

    5、没有足够 的 或者过多 的注释

    没有注释将使代码可读性变差,过多的注释是冗余的

    6、潜在的bug

    sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的bug

    7、糟糕的设计

    通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系

    可以检测自定义的架构规则

    检测耦合

    四、

    iOS的静态检测(不能检测代码规范)

    1、Facebook Infer

    Facebook 称该工具帮助其每个月检查出数百个应用中潜在的 Bug,例如一些空指针访问、资源和内存泄漏等等

    2、Clang Static Analyzer

    3、使用Uncrustify 格式化 Xcode代码

  • 相关阅读:
    cdn与http缓存
    EntityFramework、Dapper vs 草根框架性能
    docker10件事
    TCP的阻塞和重传
    ngCookies模块
    Net Core- 配置组件
    获取synchronized锁中的阻塞队列中的线程是非公平的
    Java线程并发中常见的锁--自旋锁 偏向锁
    byte为什么要与上0xff(转)
    Tair是一个高性能,分布式,可扩展,高可靠的key/value结构存储系统(转)
  • 原文地址:https://www.cnblogs.com/zhanghaiyang/p/7212680.html
Copyright © 2020-2023  润新知