腾讯天猫经常出现这些低级的bug!
对于程序员来说,bug很讨厌。每天重复着写代码、找bug、修改bug的动作。按理说互联网巨头的产品,bug应该比较少。但是实际上,无论是用百度、天猫、谷歌等产品,经常都会出现这些低级的bug,让人很火大。这不,有个网友就在网上吐槽:
这个网友称,腾讯QQ空间好友的动态里,经常没办法显示好友的备注名称。安卓客户端的同个页面,可以打卡很多次,这样导致的后果就是,返回的时候要按很多次的返回键。不仅如此,天猫登录界面在firefox下的兼容性很差。例如说,明明没有显示出来验证码,却要求登录用户输入验证码。
还有在google云端硬盘上传文件夹,结果是乱码。
关于网友提出的这个问题,大家深有感触。但是很多网友还是觉得,程序员混口饭吃不容易,莫要再截图打兄弟们的脸了。
网友一:
巨头的系统都很庞大,产品组的同事每提一个bug,程序员要先去重现bug重现,然后看它跑的哪几行代码,再去改代码。这时本地开发算是完成,也通过测试,可以提交到团队的测试环境了。但是有时候,好几个bug背后的代码相互依赖,可能你的同事 merge 的时候把你的代码冲掉了,或者在中间插入了其他的代码,然后又要想办法重新改,或者说产生了新bug。
网友二:毕竟互联网才发展了这么些年,还很不完善。
网友三:没有百分百的测试覆盖率,只要是人写出来的程序,做出来的产品,就会有bug。无须大惊小怪。
网友四:无论什么公司的产品都不可避免有一些bug,互联网巨头也无法例外而且还有可能更多。
网友五:有人的地方,就有江湖,和BUG。
看来大家对待bug,态度还是很宽容的。其实也是,再好的程序,可能也会出现代码,更何况互联网巨头这些拥有庞大系统的代码库。下面,有个网友分享了一个,据说是最大的bug。
Azure底层fabric有过这么一段code,目的是在做创建一张新的证书并设置有效期为一年后这件事。
那么要先获得一年后的日期,本来用DateTime.Today().Add(new TimeSpan(365,0,0,0))就可以了(编辑:经提醒,AddYear(1)是最简单而且更精确的)。写代码的哥们脑洞了下写成new DateTime(today.Year+1,today.Month,today.Day)。经过各种测试运行一直都没问题。直到2012年2月29日,ArgumentOutOfRangeException。后果是整个Azure挂了十多个小时吧。
虽然说bug不可避免,但是写代码时,最好还是尽量减少bug,下面分享几个方法。
1.写代码时不要分心,缺陷代码头号敌人就是分心。有些时候,一个Twitter或GTalk都会将你的思路打断,这时候你需要集中注意力。
2.集成测试或者单元测试模块,写代码一定要遵循测试、代码、测试的原理。
3.如果代码库已经测试好,是很多开发者都使用过的,经过很多次测试的,而且你又打算实现这个代码库同样功能,这时候,你可以尽情的使用这些代码。
4.编译器的警告,千万不能忽视。通常情况下,编译器很容易将代码中存在的bug识别出来。对代码进行调试之前,最好是使用最高级别的警告,来编译代码,看看有没有明显的错误存在。
5.日志:日志工具安装很方便,它可以把日志分为info、warning、error三大类型。而通过这些日志,你很快就可以追踪到到底发生什么。
6.代码审查:提交代码时,最好让别人审查一下你的代码,以此看看有没有错误出现。
其实出现bug,算是很正常的一件事,程序员相信都不敢很绝对的说自己写的代码不会出错,当然,谷歌技术大牛Jeff Dean除外,因为他号称自己的代码从来不会出错。但是作为程序员,还是尽量避免出现bug。
学编程技术,就到W3Cschool,如果你喜欢我们的文章,可以点击右上角关注我们;如果你想看到更多IT界的资讯,可以加我们的公众号。
公众号:w3cschoolcn
腾讯天猫经常出现这些低级的bug!的更多相关文章
- iOS之利用腾讯Bugly程序调试,测试代码bug、卡顿等情况
1.自己先写一个 Demo 演示一下利用bugly测试崩溃的具体情况. 在ViewController里面实现崩溃代码如下: 运行后 毫无疑问程序报错了! 2.使用到第三方的框架Bugly,官方下载 ...
- 复盘价值1000万的腾讯云硬盘固件"BUG"
摘要: 除了吃瓜,还是得吸取教训啊同学们! 这次,我从纯技术角度分析腾讯云与前沿数控的磁盘数据丢失事件,不站队. 硬盘门 这里说的硬盘门不是10年前陈老师的那一次,而聊的是最近"腾讯云&qu ...
- 2021S软件工程——结对项目第三阶段
2021S软件工程--结对项目第三阶段 2021春季软件工程(罗杰 任健) 项目地址 1020 1169 1 实践反思 1.1 问题分析 两人习惯不一致 没有具体制定时间节点 写完代码才开始" ...
- 谈谈DOMContentLoaded:Javascript中的domReady引入机制
一.扯淡部分 回想当年,在摆脱写页面时js全靠从各种DEMO中copy出来然后东拼西凑的幽暗岁月之后,毅然决然地打算放弃这种处处“拿来主义”的不正之风,然后开启通往高大上的“前端攻城狮”的飞升之旅.想 ...
- 初级Bug率,随时受不了
一听到初级Bug这个名字,很多开发工程师都会觉得很头痛,还有那个“初级Bug率”,让人随时受不了. 初级Bug这个概念,在多数缺陷跟踪工具中,是不存在的,可以说是淘宝研发部的特色.初级Bug对应Bug ...
- 代码规范、代码复审、PSP
作业三: 代码规范.代码复审.PSP 代码规范 代码规范的重要性 一.规范的代码可以促进团队合作 一个项目大多都是由一个团队来完成,如果没有统一的代码规范,那么每个人的代码必定会风格迥异.且不说会存 ...
- python标准库xml.etree.ElementTree的bug
使用python生成或者解析xml的方法用的最多的可能就数python标准库xml.etree.ElementTree和lxml了,在某些环境下使用xml.etree.ElementTree更方便一些 ...
- JDK中的并发bug?
最近研究Java并发,无意中在JDK8的System.console()方法的源码中翻到了下面的一段代码: private static volatile Console cons = null; / ...
- 如何进行shell脚本正确性测试
在实际工作中,需要对shell脚本进行正确性测试. 如何用最快最有效的方式进行测试? 很多开发的习惯是,二话不说,写完/拿到,就跑一把,看看输入,输出,想要的操作是否完成,也就过了. 其实这是十分不严 ...
随机推荐
- 线程同步工具CountDownLatch
CountDownLatch的一个非常典型的应用场景是:有一个任务想要往下执行,但必须要等到其他的任务执行完毕后才可以继续往下执行.假如我们这个想要继续往下执行的任务调用一个CountDownLatc ...
- 用CSS调整scrollbar(滚动条)的配色
可以通过调整CSS的方式,来给滚动条换色. 代码如下: .uicss-cn{ height:580px;overflow-y: scroll; scrollbar-face-color:#EAEAEA ...
- find命令结合cp bash mv 命令使用的4种方式
工作经常需要用find结合其它命令一起使用,下面介绍4种结合方式. 例: 用find查找/data目录下,以.txt文件结尾的文件并复制到/tmp下 方法一 find与|xargs是黄金搭档,-t 参 ...
- 再谈Unity调用Android的Activity
这段时间在研究Unity4.3开发环境下.怎样调用由Android SDK4.4.2写的Activity.參考了非常多网上的博客.百度出了几十篇大部分都是转载雨松MOMO的,这里必须向雨松MOMO表示 ...
- knowledgeroot 的配置与优化
首先下载 KnowledgeRoot 的安装包,就是一个压缩文件,解压缩后放到 WebRoot 下面 在浏览器中打开网站,自动提示进行安装,安装的过程很简单,安装结束后即可以使用. 安装包创建的数据库 ...
- 查询excel中共多少个工作表,绝对好使
用宏表函数:具体做法如下: CTLT+F3,定义一个名称,名字随便起,比如AA,公式=GET.WORKBOOK(4),确认. 然后随便一个单元格输入=AA就可以了显示有几个工作表了.
- iOS nsstring 截取字符前后字符串
// Str = @"PEK_LHR" NSRange range = [trafficeStr rangeOfString:@"_" options:NSBa ...
- 170215、监听器(HttpSessionListener)在开发中的应用
这个监听器主要用于网站在线超时退出的功能. OnlineUserListener实现了HttpSessionListener定义的两个方法: sessionCreated()和sessionDestr ...
- Apache-ActiveMQ transport XmlMessage
前言 本文原创,转载请说明出处! Apache-ActiveMQ:是Apache提供的一款开源的消息传送服务,不论是安装还是使用都非常简单实用,可以作为消息缓存管理器来使用(个人观点),看看Activ ...
- java反射——字段
大家都知道反射技术在Java里面时非常重要的一个技术点,因为Java好多框架的编写都是基于反射的,别的不多说,spring框架里面的IOC就是基于反射实现.那么什么是反射呢?JAVA反射机制是在运行状 ...