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

代码管理和检查平台汇总相关推荐

  1. 代码管理平台—svn

    内容摘要 一.代码管理平台介绍 二. 安装svn 三.客户端上使用svn(linux) 四.客户端上使用svn(windows) 一.代码管理平台介绍 代码管理平台也叫版本控制,记录若干文件内容变化, ...

  2. 【信息系统项目管理师】第二十三章 信息系统综合测试与管理(考点汇总篇)

    [信息系统项目管理师]第二十三章 信息系统综合测试与管理(考点汇总篇) 考点分析与预测 本章内容属于第三版教材新增的内容,总共80多页,但在上午考试中只考2分.一般来说还会在案例分析中涉及一个关于测试 ...

  3. 代码管理和版本管理的作业流程以及规范是怎样的?

    代码管理和版本管理的作业流程以及规范是怎样的? 代码管理和版本管理的作业流程以及规范是怎样的?下面以文档的形式进行详细分析,希望能够给予测试人员一些帮助和指导. 本文目的 本文试图提供一套有效进行代码 ...

  4. 为何Google、微软、华为将亿级源代码放一个仓库?从全球最大代码管理库说起...

    作者 | 夕颜 编辑 | Just 出品 | AI 科技大本营(ID:rgznai100) [导读]2017 年,在当时微软的一篇官方博客中,时任微软云开发服务副总裁的 Brian Harry 表示微 ...

  5. 代码管理规范_微服务架构下代码管理规范

    当下对于代码的管理,主要采用GitLab或GitHub,然而使用git进行代码管理过程中,一般有四种开发模式,分别为主干开发主干发布,主干开发分支发布,分支开发主干发布,分支开发分支发布.四种开发模式 ...

  6. 代码管理之SVN服务器及Git的创建与使用

    ---恢复内容开始--- SVN和Git的都是用于项目配置项管理的工具,区别很大,各有千秋.但他们之间的区别并非今天我要谈论的重点,因为这些有很多成熟的文章博客介绍.所以今天我主要是介绍一些SVN和G ...

  7. 在Windows Server 2008上部署SVN代码管理总结

    这段时间在公司开发Flex程序,所以使用TortoiseSVN作为团队代码管理器,今天在公司服务器上部署SVN服务器,并实验成功,总结如下: 服务器环境: 操作系统:Windows Server 20 ...

  8. 使用Git进行代码管理的心得

    注册GitHub账号 要使用GitHub进行代码管理.首先,需要一个GitHub的账户. 登录GitHub.com进行注册. 根据实践课上学长的指导,或参考他的blog来继续创建Organizatio ...

  9. 代码管理工具 Git

    之前一直使用微软的代码管理工具TFS(Team Foundation Server)..NET CORE 2.0的发布后,考虑到.NET CORE项目可以跨平台,准备把项目迁移到.NET CORE 环 ...

最新文章

  1. java ado_Java进击C#——语法之ADO.NET
  2. 编写一个基本的Android程序
  3. 【杂谈】怎么使用有三AI完成系统性学习并赚钱
  4. Firefox, IE等不同浏览器对JavaScript,CSS不同解析问题 (转备以后使用)
  5. jquery:validate的例子{转载}
  6. redis-full-check
  7. [设计模式-结构型]装饰模式(Decorator)
  8. 使用 Filebeat 对多行日志进行处理(multiline)
  9. JavaScriptjQuery.HTML5事件
  10. SQL Server 备份和还原
  11. 美国3月通胀见顶了吗?
  12. LintCode 最长公共子串
  13. 马哥python线下培训
  14. 各种分类算法优缺点比较
  15. 获取wifi密码信息(仅供学习使用,勿作他用)
  16. 资源变现小程序添加折扣充值和折扣影票插件
  17. history命令和FHS介绍
  18. 如何:创建 C# 控制台应用程序
  19. 5G无用时代的终结—从iPhone 12系列到vivo 6G应用场景的展望
  20. 小心看上去平平无奇的陷阱:如何防范高级渣?

热门文章

  1. map函数python返回值,Python中map函数使用
  2. 五分钟学会python_关于五分钟学Python系列视频
  3. 70. 爬楼梯(JavaScript)
  4. 生命周期 用户可以操作dom_当面试官问:能否介绍下Vue生命周期时,该如何回答...
  5. python笔记之matplotlib.pyplot曲线平滑自定义函数:smooth_curv()
  6. 五合体机器人乐高_又来一波新品,高达、乐高全都有
  7. 大数据模型研究报告pdf_业绩大数据分析报告模型
  8. sm2算法c 语言实现,移远通信集成国密安全解决方案的C-V2X AP模组商用落地
  9. 计算机没有cpu会怎么样,电脑cpu不好会怎么样
  10. css两列显示,div+css如何控制信息分两列显示?