代码管理和检查平台汇总

程序员离不开代码检查,有的是技术团队是每周五进行一次代码审核,有的团队是用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代码

原文地址:https://www.cnblogs.com/zhanghaiyang/p/7212680.html