前言 项目中代码质量,往往需要比较有经验的程序员的审查来保证.但是随着项目越来越大,代码审查会变得越来越复杂,需要耗费越来越多的人力.而且程序员的经验和精力都是有限的,能审查出问题必定有限.而在对代码质量要求越来越严格的当今IT界,这无疑是个矛盾点.幸运的是,不少公司发布了代码扫描工具,来检测代码中存在的问题.尽管它们无法扫描出所有的bug,但仍然能够为我们的工作带来极大的便利.其中FindBugs就是这其中的佼佼者,本文将结合Android Studio来介绍该工具的使用. 一.FindBug…
提高代码质量-工具篇 注:这是一篇翻译文章,原文:How to improve quality and syntax of your Android code,为了理解连贯,翻译过程中我修改了一些陈述逻辑和顺序,同时也加了一些自己的补充. 在这片文章中,我将从工具使用的角度上讲述如何提高 Android 代码质量,这些自动化工具包括 Checksytle.Findbugs.PMD 和 Android Lint. 团队中代码意识不一致,水平参差不齐,代码风格迥异,定下的规范也是熟视无睹.这时候就需…
idea 安装findBugs 可以做代码扫描,也可以导出扫描结果生成扫描报告 https://my.oschina.net/viakiba/blog/1838296 https://www.cnblogs.com/adeng/p/7154636.html   https://www.cnblogs.com/f1194361820/p/4796116.html…
介绍 Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd.checkstyle.findbugs.Jenkins.通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理.同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar.此外,Sonar 的插件还可以对 J…
如果能在构建代码前发现代码中潜在的问题会怎么样呢?很有趣的是,Eclipse 插件中就有这样的工具,比如 JDepend 和 CheckStyle,它们能帮您在软件问题暴露前发现这些问题.在 让开发自动化 的本期文章中,自动化专家 Paul Duvall 将带来一些关于 Eclipse 插件的例子,您可以安装.配置和使用这些静态分析插件,以便在开发生命周期的早期预防问题. 关于本系列 作为一名开发人员,我们的工作就是为终端用户将过程自动化:然而,我们当中有很多人却忽视了将我们自己的开发过程自动化…
随着富 Web 前端应用的出现,开发人员不得不重新审视并重视 JavaScript 语言的能力和使用,抛弃过去那种只靠“复制 / 粘贴”常用脚本完成简单前端任务的模式.JavaScript 语言本身是一种弱类型脚本语言,具有相对于 C++ 或 Java 语言更为松散的限制,一切以函数为中心的函数式编程思想也为开发人员提供了更加灵活的语法实现.然而,这种灵活性在带来高效的同时,也成为初学或者经验不足的 JavaScript 开发人员的噩梦.形式各异的代码风格.隐含错误的代码行为,严重影响了整体代码…
在这篇文章中,我将通过不同的自动化工具如CheckStyle,FindBugs,PMD以及Android Lint来介绍(如何)提高你的安卓代码质量.通过自动化的方式检查你的代码非常有用,尤其当你在一个团队中工作,为了在你的代码中保持严格的语法格式以及避免很多坏习惯和错误.我将仔细地介绍如何在你空闲的时候直接运用这些工具通过Gradle构建脚本以及如何配置它们. Fork该示例 我强烈建议你拷贝下这个项目工程,尽管我将介绍的案例都是来自它.与此同时,你将能够测试下自己对这些工具的了解情况. 关于…
利用 ESLint 检查代码质量 其实很早的时候就想尝试 ESLint 了,但是很多次都是玩了一下就觉得这东西巨复杂,一执行检查就是满屏的error,简直是不堪入目,遂放弃.直到某天终于下定决心深入看了文档,才发现其实挺简单的,只是当时没有看到合适入门教程而已.我相信很多人也有着跟我一样的经历,所以希望将自己的踩坑心得记录下来,让后来者更轻易地掌握 ESLint 的使用,因为它确实是个好东西. JavaScript 是一门神奇的动态语言,它在带给我们编程的灵活性的同时也悄悄埋下了一些地雷.除了基…
提高你的Java代码质量吧:推荐使用枚举定义常量 一.分析 常量的声明是每一个项目中不可或缺的,在Java1.5之前,我们只有两种方式的声明:类常量和接口常量.不过,在1.5版之后有了改进,即新增了一种常量声明方式,枚举常量.代码如下: enum Season{ Spring,Summer,Autumn,Winter; } 二.场景 那么枚举常量与我们的经常使用的类常量和静态常量比有什么优势呢? 1.枚举常量更简单  先把Season枚举翻译成接口,代码如下: interface Season{…
关注代码质量是高效开发必须要做的一件事,那么在 Ruby 开发的过程中,是否有什么好的代码质量检测工具呢?下面由 Ruby 工程师路英瑞介绍一下 RubyCritic--一款还不错的代码质量检测工具. 最近在开发 Cloud Insight API(一款能够优雅监控多种操作系统.数据库.中间件.云主机的解决方案) 时,发现一个可以检测 Ruby 代码质量的工具-RubyCritic. RubyCritic 集成 Reek, Flay 和 Flog 这3个分析代码的工具,能够对你的 Ruby 代码…