FindBugs 入门 FindBugs 作用 开发人员在开发了一部分代码后,可以使用FindBugs进行代码缺陷的检查.提高代码的质量,同时也可以减少测试人员给你报的bug数. 代码缺陷分类 根据缺陷的性质,大致可以分为下列几类 ·Bad practice  不好的做法 ·Correctness   可能有不正确 ·Dodgy code     糟糕的代码 ·Experimental  实验 ·Internationalization  国际化 ·Malicious code vulneril…
遭遇 bug 的时候,理性的程序员会说:这个 bug 能复现吗? 自负型:这不可能,在我这是好好的. 经验型:不应该,以前怎么没问题? 幻想型:可能是数据有问题. 无辜型:我好几个星期都没碰这块代码了! 乐观型:只需要改一行代码,不会影响其它程序的. 实践型:你重启一下服务试试. 无论你是哪种类型的程序员,遭遇 bug,内心都是崩溃的,尤其是产品经理或测试人员在使用或测试产品的过程中抓到你的一个 bug 之后那种如获至宝的表情和欢呼声,会让我们的心情久久不能平静.于情于理,防患于未然,减少编程中…
[转]http://macshuo.com/?p=1361 怎么减少编程中的 bug? Posted on 2016 年 2 月 17 日 为什么要编程?因为代码没在那里.创造一个世界是如此让人着迷,Linux 的创始者 Linus 这样表述对编程的喜爱之情: 对于喜爱编程的人来说,编程是世界上最有趣的事,比下棋有趣得多!因为你可以自己制订游戏规则,而你制定什么样的规则,也就会随之出现与此规则相符合的结果. 在电脑世界中,你就是创世者,你对所发生的一切拥有最终的控制. 你可以建筑一个这样的房子,…
实际项目中,往往有大量的if-else语句进行各种逻辑校验,参数校验等等,大量的if-else,语句使代码变得臃肿且不好维护,本篇文章结合我自己的经验,就减少if-else语句给出以下几种方案,分别适用于不同的场景,供大家参考,如有疑问或者建议,请大家及时指出; 一. 方案一:使用三元表达式: //使用if-else语句 String str; if (user.getAge()>18){ str="已成年"; }else { str="未成年"; } //使…
一.写作背景 最近组内在推行checkstyle代码规范的检测,关于checkstyle的介绍可以参考:https://checkstyle.sourceforge.io, 在按照checkstyle修改问题时,遇到几个很头疼的问题,最头疼就是checkstyle对function中return数量的限制,这里有两种限制: 1.对于void返回值的function,return数量最多只允许有1个: 2.对于非void返回值的function,return数量最多只允许个有3个: 根据上面这两个…
写这篇文章的目的和上一篇单例模式一样,策略模式也是一种常用的设计模式,太多的if-else不仅看着不太美观而且不好维护,对于自己来说也等于复习了一遍策略模式.先说一下策略 模式的定义: 策略模式封装了算法家族,可以让彼此之间互相替换,简单的来说就是比如之前系统调用了两个数据源,现在要添加第三个数据源如果还是使用if-else就需要给所有调用数据源的地方加上 新的判断分支,从而导致维护繁琐.如以下代码: if(A){ System.out.println("调用A数据源"); }else…
using Sitecore; using Sitecore.Data.Items; using Sitecore.Resources.Media; public string GetUrl() { var currentItem = Sitecore.Context.Item; var imageUrl = string.Empty; Sitecore.Data.Fields.ImageField imageField = currentItem.Fields["Image"]; i…
分享下我的debug的经验 1. 优先解决那些可重现的,可重现的bug特别好找,反复调试测试就好了,先把好解决的干掉,这样最节约时间. 2. 对于某些bug没有头绪或者现象古怪不知道从哪里下手,找有经验的同事问一下思路,因为在那种开发多年的大型系统里,经常会反复出现同样原因的bug,原因都类似,改了一处,过一阵子另外一处又冒出来,而且无法根治.比如:我那个系统里有个特别危险的API,接口参数比较难用,一旦有人用错了某些情况下就会出诡异的现象,解决很简单,找到调用这个API的地方把调用方式写对就好…
分享下我的debug的经验 1. 优先解决那些可重现的,可重现的bug特别好找,反复调试测试就好了,先把好解决的干掉,这样最节约时间. 2. 对于某些bug没有头绪或者现象古怪不知道从哪里下手,找有经验的同事问一下思路,因为在那种开发多年的大型系统里,经常会反复出现同样原因的bug,原因都类似,改了一处,过一阵子另外一处又冒出来,而且无法根治.比如:我那个系统里有个特别危险的API,接口参数比较难用,一旦有人用错了某些情况下就会出诡异的现象,解决很简单,找到调用这个API的地方把调用方式写对就好…
我曾经做了两年大型软件的维护工作,那个项目有10多年了,大约3000万行以上的代码,参与过开发的有数千人,代码checkout出来有大约5个GB,而且bug特别多,open的有上千,即使最高优先级的showstopper也有上百.分享下我的debug的经验1. 优先解决那些可重现的,可重现的bug特别好找,反复调试测试就好了,先把好解决的干掉,这样最节约时间.2. 对于某些bug没有头绪或者现象古怪不知道从哪里下手,找有经验的同事问一下思路,因为在那种开发多年的大型系统里,经常会反复出现同样原因…