开发中容易引入的BUG

以自己在开发引入的BUG为例

1.对一个列表中的元素用,来分隔:

    public static String splitListByComma(List<String> dogs)
    {
        StringBuilder stringBuilder = new StringBuilder();
        for (String dogName : dogs)
        {
            stringBuilder.append(dogName).append(",");
        }
        return stringBuilder.substring(0, stringBuilder.length() - 1);
    }

BUG:当dogs为空列表时,最后一句会报越界错误(不考虑传入null的情况)。

修正后应该是

public static String splitListByComma(List<String> dogs)
    {
        if (dogs.isEmpty())
        {
            return "";
        }
        StringBuilder stringBuilder = new StringBuilder();
        for (String dogName : dogs)
        {
            stringBuilder.append(dogName).append(",");
        }
        return stringBuilder.substring(0, stringBuilder.length() - 1);
    }

开发中容易引入的BUG,布布扣,bubuko.com

时间: 2024-11-01 04:32:03

开发中容易引入的BUG的相关文章

记开发中那些坑爹的bug

1.写了一个手机上基于触摸事件的滑屏效果,在非qq和微信自带浏览器下都支持良好,但偏偏在微信和qq自带浏览器中始终有问题,touchmove事件在滑屏过程中没有不断地得到触发,测试良久无果,上网找了好多资料,才得知是由于200ms超时导致内核不一定会一直处理touchmove事件,一旦超时会将后续所有的事件转交给UI处理,导致touchmove不会一直触发,腾讯的浏览器内核问题,解决此问题的方法是在touchstart事件中调用event.preventDefault,这样就可以保证内核会一起触

最近maven开发中遇到的一些bug。

1.WebxContextLoaderListener  等tomcat启动报错.大部分原因都是jar包问题. 检查方式,在tomcat的webapps/WEB-INF/lib下有没有想对应的jar包.这个能解决大部分tomcat启动问题.有可能是jar包依赖问题等. 2.maven编译的问题. 解决办法:1.分模块mvn  clean install  并跳过test  编译.2.maven update Project  3.检查build path 3.war包问题 编译过后的war包 

asp.net开发中遇到的奇葩bug及解决办法(会持续更新。。。)

1,不知道你们遇没遇到过,在vs2010或更高版本上运行程序的时候,完全没问题,放在IIS中出现了问题,就比如左侧是菜单项,点击菜单右边显示,如果菜单链接是这样:content.aspx,而另一个链接是这样:manager/manager_list.aspx,在IIS中就会出现Session过期的问题,content.aspx页面根本无法接收到传过来的session值,因此会报session相关的错. 解决办法:把链接路径改成一致就能解决,改成这样:manager/content.aspx.暂时

Android实际开发中的bug总结与解决方法(一)

                                                                             Android实际开发中的bug总结与解决方法(一) Android开发中有很多bug,我们是完全可以在线下避免的,不要等到线上报的BUG的再去修复.下面是我在实际开发中遇到过的bug和解决方法. BUG 1: java.lang.RuntimeException: Unable to start activity ComponentInfo

开发中常见的问题

这篇文章是专门用来记录开发中一些常见的BUG以及常用的零碎知识点,我会隔一段时间更新内容 1.重复调用2次loadView和viewDidLoad 最好不要在UIViewController的loadView方法中改变状态栏的可视性(比如状态栏由显示变为隐藏.或者由隐藏变为显示),因为会导致重复调用2次loadView和viewDidLoad方法 假设状态栏本来是处于显示状态的: 下面的是错误代码: [java] view plaincopy - (void)loadView { NSLog(@

web开发中的长度单位(px,em,ex,rem),如何运用,看完这篇就够了!

原创 2017-03-08 web小二 web前端开发 作为一名前端开发人员,css中的长度单位,都是我们在工作中非常熟悉的名词,因为没有它们,我们就不能声明某个字符应该多大,或者某些图像周围应该留白多少,甚至有时候能导致css不能进行正常工作,所以在很多css属性中,它们都是依赖于长度单位来显示各种页面元素. 1.长度单位包括哪些? 长度单位,其实在我们的生活中,也非常常见,例如,厘米.毫米.英寸,还有经常接触到的像素(px),元素的字体高度(em).字母x的高度(ex).百分比(%)等等这些

开发中常见问题集锦

本文目录 1.重复调用2次loadView和viewDidLoad 2.按钮无法点击 [email protected]和[email protected] 4.启动app时全屏显示Default.png 这篇文章是专门用来记录开发中一些常见的BUG以及常用的零碎知识点,我会隔一段时间更新内容 回到顶部 1.重复调用2次loadView和viewDidLoad 最好不要在UIViewController的loadView方法中改变状态栏的可视性(比如状态栏由显示变为隐藏.或者由隐藏变为显示),因

开发中常见问题

这篇文章是专门用来记录开发中一些常见的BUG以及常用的零碎知识点,我会隔一段时间更新内容 1.重复调用2次loadView和viewDidLoad 最好不要在UIViewController的loadView方法中改变状态栏的可视性(比如状态栏由显示变为隐藏.或者由隐藏变为显示),因为会导致重复调用2次loadView和viewDidLoad方法 假设状态栏本来是处于显示状态的: 下面的是错误代码: [java] view plaincopy - (void)loadView { NSLog(@

转:移动开发中一些bug及解决方案

网页开发要面对各种各样的浏览器,让人很头疼,而移动开发中,你不但要面对浏览器,还要面对各种版本的手机,iOS好一点,而安卓就五花八门了,你可能在开发中也被它们折磨过,或者正在被它们折磨,我在这里说几个我在开发中遇到的比较难缠问题,和解决方案,给其他朋友提个醒,因为一旦碰到了这些bug,虽然解决方法不难,但是你可能要花上几个小时,几天,甚至更长时间才能解决它们,遇到这些bug的话要注意,以后发现其他bug也会继续补充,也希望你也可以把你遇到的bug或者解决方案回复给我,我会一起补充到文章里,帮助其