1. 聚能聊>
  2. 话题详情

什么样的程序员才能写出没有bug的代码呢?

肯德基爷爷出来搞事啦!

几乎是一夜之间,肯德基App就杀进了iOS热门App排行榜的前50名,是何原因?

bug!

肯德基App出现了一个大bug,用户将账号生日改为“20160828”,即可在五分钟内获赠一张六人全家桶半价券,有效期至8月31日。这样一个惠民的bug一经发现,自然是一传十、十传百,一堆人就去下载注册了肯德基App,硬生生把这样一个美食类App刷到了排行榜前50名。

_

该bug出现后,有人猜测这是肯德基在利用bug做营销活动,也有人猜测这就是一个bug。截止此时,该bug已被修复,用户在注册时将生日设置为“2016年8月28日”是没问题的,而且生日一经注册是无法修改的。感觉身边多了一堆2016年8月28日出生的肯德基宝宝。

8月25日,暴风影音App更新了新版本,这本是非常普通的一件事情,但在其软件的“最新动态”也就是最新版本的更新内容中,一段话引发了广大网友的热议——“修复了闪退的bug,还杀了一个程序员祭天”。当然,这仅仅是暴风影音的一种娱乐调侃方式,而且随后该版本信息对这句话进行了修改,但依然引发了巨大争议。暴风被指恶意营销,有网友甚至将其举报。

_

2013年6月21日晚,各大论坛、微博、QQ 群里出现了一条广为流传的消息:“百度云网盘的支付系统疑似出现了重大 bug,所有付费套餐的价格变成了原来的 1/1000,1 毛钱就可以买一年会员,100GB 最高等级套餐也只要 5 毛钱,快去抢福利啊!!”一时间网民炸锅了,不管之前有没有百度云网盘的账号,这会儿都麻溜地奔去抢购。

经过验证,所谓的“bug”的确存在。原本 15GB、30GB、50GB、100GB 的套餐年费分别为 75 元、150 元、250 元及 500 元,当时的实际支付环节只需花费 0.08 元、0.15 元、0.25 元及 0.5 元。

_

对于程序员来说,bug简直是天敌一般,但是同样也有一些“bug营销”,不过,讲真,一个没有bug的程序员不是好程序员,面对这些bug,我们来讨论一下吧!

你发现 Bug 的时候是怎样一种心情?你是如何看待bug的存在?

你曾经写过哪些很“了不起”的bug,后面是经历了怎样的“磨难”才修复的呢?

什么样的程序员才能写出没有bug的代码呢?

参与话题

奖品区域 活动规则 活动已结束,可继续参与讨论哦

  • 奖品一

    虾米VIP月卡 x 1

  • 奖品二

    云栖社区纪念胸针 x 1

  • 奖品三

    免费套餐邀请码 x 4

39个回答

1

巴洛克上校 已获得云栖社区纪念胸针

你发现 Bug 的时候是怎样一种心情?你是如何看待bug的存在?
作为使用者非常开心,又有吐槽的点了,心情顿时大好。如果我的bug兴奋,哈哈幸好没被被人发现,赶快去改,没bug程序员还活的有什么意思,程序员大部分时间不就是改bug,没了bug乐趣何在!

你曾经写过哪些很“了不起”的bug,后面是经历了怎样的“磨难”才修复的呢?
就不高数你,就不高数你,高数你我怎么催牛!哈哈!透漏一点我成精味了一个bug早了整整两天没早到问题所在,后来一个偶然发现字母写反了!!!

什么样的程序员才能写出没有bug的代码呢?
答案很简单不写程序的程序员没有bug纯在,而且还给别人挑毛病,听说戴上云栖社区纪念胸针就会没有bug不知道真的假的!

聚小编 回复

我觉得“说说那些了不起的BUG”会是个不错的话题唉

海洋的云 回复

上校,我能不能用胸针换你那了不起的bug的故事呢~

巴洛克上校 回复

先杀一个程序员祭天。完了在和我谈了不起的bug,哈哈!哈哈!

海洋的云 回复

(╯‵□′)╯︵┻━┻上校是在搞事情吗?O(∩_∩)O哈哈~

巴洛克上校 回复

咱俩密谋一下搞个大事情,杀几个程序员祭代码,如何!

海洋的云 回复

/(ㄒoㄒ)/~~

评论
0

1681904378752969 已获得免费套餐邀请码

发现bug挺开心的,尤其是网游bug。我觉得程序员写代码,只要细心一点应该不会出现bug的。但是我知道大部分程序员都是男士,做的不是很细心。而且作为程序员经常通宵写代码,对程序员的眼镜伤害特别大 。我觉得程序有bug还是可以的,对于我们用户来说!

聚小编 回复

有没有找到王者农药的BUG,找到可以透露一下~~嘻嘻

海洋的云 回复

同求王者农药的bug,哈哈~

评论
2

shawn.ss 已获得免费套餐邀请码

你发现 Bug 的时候是怎样一种心情?你是如何看待bug的存在?

视bug是谁的决定心情,视发现bug的是谁决定态度
如果是自己的:
被测试发现,“你好棒哦,这都能测出来”或者“给你机会增加绩效”
被领导发现,“那个是个小问题,忘记改过来了”或者“咦,这个应该之前是好的啊”
被下属发现,“考验你们的眼力和严谨性”或者“你打开的姿势不正确”
被客户发现,“咦,这个应该之前是好的啊”
如果是领导的:
被测试发现,“哦”
被更高级领导发现,“呵呵”
被自己或者下属发现,“嘿嘿,您又考验我们呢”’
被客户发现,“真是太不应该了,抱歉啊,马上改正,顺道你之前不是想加个什么功能吗,一起给你弄了”
如果是下属的:
被测试发现,“先端正编程态度,上点心”
被领导发现,“这家伙怎么这么不小心”
被自己发现,“来来来,我们来聊聊一些有趣的现象”或者“又在写bug呢”
被客户发现,“刚杀了一个程序员祭天虫(BUG)”

没上线的Bug,要看上线时间来对待,时间充足的根治,时间不足的打补丁加防护,上线的Bug,要看影响来对待,基本上影响不大的都可以忍受,如果真有不能忍受的bug,那么祭天仪式可以开办了。
还有很多bug其实也是产品造成的,未约定的场景搞出来一堆问题,开发肯定要拉产品垫背。
另外,部分bug可以伪装成feature,这个是高级技术,只要能说服产品,本来的失误就成了刻意为之的小聪明,很有成就感。

你曾经写过哪些很“了不起”的bug,后面是经历了怎样的“磨难”才修复的呢?
说个N多测试都没有测试出来的,Integer a 声明了一个变量,Integer b 生命了一个变量,判断用了 if(a==b) ,然后呢,a和b都是用户id,数据库里自增的,由于java的Integer的缓存池的存在,id在127之前,这个判断都是true,128开始,由于a和b声明了两个新的对象,地址不相等,判断变成false了。
结果N个测试注册了100来个账户,测试了都没有问题,然后上线了,过了一个小时,客户就找过来了,你能理解那种草泥马乱跑的心情吧(笑cry),修复真心一点都不复杂,导一份线上数据库,一运行,马上发现尼玛这破玩意好大一个坑。。。。

什么样的程序员才能写出没有bug的代码呢?
不干活的程序员写不出bug
bug是可以减少但不能消灭的东西,好的程序员可以在作风和习惯上遵守一套严格的规约来避免bug,用一套合理搞笑的测试工具来发现bug, 减少犯错的概率,延长无bug的时间,但彻底消灭bug,估计还是神域,非凡人可达

shawn.ss 回复

我自己能看到两条。。。但是别的账号只能看到一条,阿里云的bug,哈哈哈哈

聚小编 回复

那是因为没有审核通过吧...

shawn.ss 回复

不是,应该是手抖删除了,结果点击详情404,但是列表里还有,我换了另一个账号看,就已经没有了

评论
0

浮生递归 已获得虾米VIP月卡

虾~虾~虾~

你发现 Bug 的时候是怎样一种心情?你是如何看待bug的存在?
看BUG有多严重,影响大的BUG,当然是非常惊悚。就像见到鬼一样。BUG的存在基本上是一种必然吧。不过如果有代码审核流程的话,就不应该了。一个人的失误是难免的,两个人都在同一个地方出现失误,那就是工作能力问题了。

你曾经写过哪些很“了不起”的bug,后面是经历了怎样的“磨难”才修复的呢?
我写过最厉害的BUG就是准考证上的座位号生成判断代码写错了,直接导致几百个考生拿着准考证到了考场,发现没有自己的座位!后面……后面……还能怎么样,当然是选择原谅我啦。。。

什么样的程序员才能写出没有bug的代码呢?
增加代码审核的流程数量。比如只有自检的话,1%的可能性会出现BUG,有其他人负责审核的话,1%X1%之后,就只有0.01%的可能了。如果再增加一次复检,那就只有0.0001%的可能,几乎可以忽略不计了。

聚小编 回复

我觉得让程序员自检不事儿不现实,大部分人都会对自己编辑的代码或文章有一些默认的肯定。所以,很多显而易见的小错误反到不容易被发现。就像我们编辑文案一样,重要的内容一定会进行互较的。所以,我觉得程序员也可以呀,互相帮忙核查一下...

浮生递归 回复

这会涉及到团队协作。BUG是大幅减少了,但是工作流增加了。对于大团队是必需的,小团队就很难执行了

海洋的云 回复

吓我一跳,我还以为我的礼品里面有小龙虾呢,哈哈~

评论
0

天空的星星 已获得免费套餐邀请码

不要幻想没有bug 这是不可能的 尤其在大型项目里面 所以我们唯一的办法就是要勇于面对bug 总想着一个bug不出的领导是很天真的领导 不爱测试的程序员不是好程序员

聚小编 回复

BUG明天见!~~BGU呀!天天见!~~

评论
0

无神 已获得免费套餐邀请码

先杀一个程序员祭天。

聚小编 回复

善哉,善哉!

无神 回复

阿里云要是出这种bug,我要先买一万年

评论
2

shawn.ss

你发现 Bug 的时候是怎样一种心情?你是如何看待bug的存在?
视bug是谁的决定心情,视发现bug的是谁决定态度
如果是自己的:
被测试发现,“你好棒哦,这都能测出来”
被领导发现,“那个是个小问题,忘记改过来了”
被下属发现,“考验你们的眼力和严谨性”
被客户发现,“真是太不应该了,抱歉啊,马上改正,顺道你之前不是想加个什么功能吗,一起给你弄了”
如果是领导的:
被测试发现,“哦”
被更高级领导发现,“呵呵”
被自己或者下属发现,“嘿嘿,您又考验我们呢”’
被客户发现,“咦,这个应该之前是好的啊”
如果是下属的:
被测试发现,“先端正编程态度,上点心”
被领导发现,“这家伙怎么这么不小心”
被自己发现,“来来来,我们来聊聊一些有趣的现象”
被客户发现,“刚杀了一个程序员祭天虫(BUG)”

没上线的Bug,要看上线时间来对待,时间充足的根治,时间不足的打补丁加防护,上线的Bug,要看影响来对待,基本上影响不大的都可以忍受,如果真有不能忍受的bug,那么祭天仪式可以开办了。
还有很多bug其实也是产品造成的,未约定的场景搞出来一堆问题,开发肯定要拉产品垫背。
另外,部分bug可以伪装成feature,这个是高级技术,只要能说服产品,本来的失误就成了刻意为之的小聪明,很有成就感。

你曾经写过哪些很“了不起”的bug,后面是经历了怎样的“磨难”才修复的呢?
说个N多测试都没有测试出来的,Integer a 声明了一个变量,Integer b 生命了一个变量,判断用了 if(a==b) ,然后呢,a和b都是用户id,数据库里自增的,由于java的Integer的缓存池的存在,id在127之前,这个判断都是true,128开始,由于a和b声明了两个新的对象,地址不相等,判断变成false了。
结果N个测试注册了100来个账户,测试了都没有问题,然后上线了,过了一个小时,客户就找过来了,你能理解那种草泥马乱跑的心情吧(笑cry),修复真心一点都不复杂,导一份线上数据库,一运行,马上发现尼玛这破玩意好大一个坑。。。。

什么样的程序员才能写出没有bug的代码呢?
不干活的程序员写不出bug
bug是可以减少但不能消灭的东西,好的程序员可以在作风和习惯上遵守一套严格的规约来避免bug,用一套合理搞笑的测试工具来发现bug, 减少犯错的概率,延长无bug的时间,但彻底消灭bug,估计还是神域,非凡人可达

1

1414202513941729

站在使用人角度去思考

1

火蓝云

BUG 营销,咱阿里云也来个,让app冲个榜单

没有BUG 除非以后是智能机器人了,人类 这辈子是无望了,小手一抖,BUG就有

1

1838145697714422

没有bug我们可能都要失业了!

0

1821803581984578

代码写得越多,bug也会越多

挑刺专家 回复

说的好

评论
0

泡芙味的瘦

shawn.ss
2
你发现 Bug 的时候是怎样一种心情?你是如何看待bug的存在?
视bug是谁的决定心情,视发现bug的是谁决定态度
如果是自己的:
被测试发现,“你好棒哦,这都能测出来”或者“给你机会增加绩效”
被领导发现,“那个是个小问题,忘记改过来了”或者“咦,这个应该之前是好的啊”
被下属发现,“考验你们的眼力和严谨性”或者“你打开的姿势不正确”
被客户发现,“咦,这个应该之前是好的啊”
如果是领导的:
被测试发现,“哦”
被更高级领导发现,“呵呵”
被自己或者下属发现,“嘿嘿,您又考验我们呢”’
被客户发现,“真是太不应该了,抱歉啊,马上改正,顺道你之前不是想加个什么功能吗,一起给你弄了”
如果是下属的:
被测试发现,“先端正编程态度,上点心”
被领导发现,“这家伙怎么这么不小心”
被自己发现,“来来来,我们来聊聊一些有趣的现象”或者“又在写bug呢”
被客户发现,“刚杀了一个程序员祭天虫(BUG)”
没上线的Bug,要看上线时间来对待,时间充足的根治,时间不足的打补丁加防护,上线的Bug,要看影响来对待,基本上影响不大的都可以忍受,如果真有不能忍受的bug,那么祭天仪式可以开办了。
还有很多bug其实也是产品造成的,未约定的场景搞出来一堆问题,开发肯定要拉产品垫背。
另外,部分bug可以伪装成feature,这个是高级技术,只要能说服产品,本来的失误就成了刻意为之的小聪明,很有成就感。
你曾经写过哪些很“了不起”的bug,后面是经历了怎样的“磨难”才修复的呢?
说个N多测试都没有测试出来的,Integer a 声明了一个变量,Integer b 生命了一个变量,判断用了 if(a==b) ,然后呢,a和b都是用户id,数据库里自增的,由于java的Integer的缓存池的存在,id在127之前,这个判断都是true,128开始,由于a和b声明了两个新的对象,地址不相等,判断变成false了。
结果N个测试注册了100来个账户,测试了都没有问题,然后上线了,过了一个小时,客户就找过来了,你能理解那种草泥马乱跑的心情吧(笑cry),修复真心一点都不复杂,导一份线上数据库,一运行,马上发现尼玛这破玩意好大一个坑。。。。
什么样的程序员才能写出没有bug的代码呢?
不干活的程序员写不出bug
bug是可以减少但不能消灭的东西,好的程序员可以在作风和习惯上遵守一套严格的规约来避免bug,用一套合理搞笑的测试工具来发现bug, 减少犯错的概率,延长无bug的时间,但彻底消灭bug,估计还是神域,非凡人可达
已获得 免费套餐邀请码
评论(2)
shawn.ss23天前
我自己能看到两条。。。但是别的账号只能看到一条,阿里云的bug,哈哈哈哈
聚小编21天前
那是因为没有审核通过吧...
shawn.ss21天前
不是,应该是手抖删除了,结果点击详情404,但是列表里还有,我换了另一个账号看,就已经没有了
没有更多了
写评论
虾米VIP月卡(剩余1个)
云栖社区纪念胸针(剩余1个)
免费套餐邀请码(剩余4个)
取消

0

梦残秋寒

BUG谁都无法避免,BUG产生情况很多种。程序越简单BUG越少

0

1172303286554207

觉得业务多了,就容易出bug了。

0

1313804957597784

🐷一样的队友

0

longlongage

当领导的程序员写不出bug的程序

0

1930403894309607

程序员不是在写bug 就是在改bug ,很正常,毕竟没有十全十美的方案

0

1243797518957312

程序员,专属奖
最佳
Bug 奖

:)

0

1420103397632539

程序员需要细心,需要耐心,通常性子急的程序员容易出bug;但是并不是耐心、细心的程序员就没有bug,bug永存;如果要没有bug,那就需要程序员自己在别人发现自己的bug前解决bug,那么在别人看来,你是没有bug的程序员了。

0

1696603410907913

唉,活着不就是为了消灭bug嘛,改完bug我已成仙

2
6483
浏览
0
收藏
邀请他人互动
关注
21
粉丝
263
话题
17

感兴趣or擅长的领域:

简介:

程序媛,专注于机器学习、数据挖掘和深度学习等相关领域

在云上签发Symantec、WoSign、CFCA证书,实现网站HTTPS化,使网站可信,防劫持、防篡改、防监听...

为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...