最近公司食堂的饭菜真是吃够了
于是昨天中午灵机一动
准备点个外卖开心一下
打开美团选餐后
支付一次……失败!
于是我再支付一次,然后……
美团竟然扣了我两次款!!!
这?是怎么肥事?
不行,我要给美团客服打电话投诉!
一拨过去!我的天!它竟然一直在占线!
实在忍受不了了
我要发个微博发泄一下并@它们官微
打开微博一看
原来美团出大事了!
美团微博已被千万网友占领↓↓↓
原来美团服务器出现大面积崩溃,包括外卖、团购在内的业务均受到影响。外卖订单付款出现延迟,部分用户付款后系统仍提示尚未付款;团购页面内容也无法正常显示。
对于这个问题,美团外卖公开回应称,非常抱歉给大家带来了不便,因受系统网络影响,导致部分用户会出现重复支付情况,技术人员正在紧急处理,请大家先别着急,重复支付的款项会为大家原路退回,款项会在1-7个工作日内到账。
影响了吃中午饭,这样的回应显然没有平复广大用户的心情,有用户爆料称,从2014-2017年美团一直在崩溃,从未被完全修复,就拿最近来说,8月和10月都出现过一次。
对此,不少网友调侃:年终奖拿不到不说,这次美团的程序员可能要被炒鱿鱼了!
网友评论:
@lxl:美团的程序员这一年白干了
@MR无尾熊:用户气死了,饿了么笑死了,美团哭死了,程序员……没了
@强行插入:程序员要被祭天了
@HEQQ:永远不要小瞧一个饭点儿上饿晕网友的能量!
@诸葛亮:我就知道我的午餐没了,是美团程序员背锅,作为程序猿,我很理解
@风鸟一群:肯定不是小bug引起的,太瞧不起美团了。如果是网络/服务架构问题,美团这次算是有了非常宝贵的经验。
@差不多KK:吓的我赶紧藏好写好的bug
其实,从每天给程序员打交道的小编的角度看,把全部责任归咎到美团程序员的身上并不公平,要知道程序员身上承受的压力该有多大呀!
再说了,哪个程序员能保证,写过的代码里一个bug也没有?其实,程序员工作的最大意义就是不停地寻找bug,战胜bug啊,正所谓“程序不息,Bug不止”。
出现的bug都是程序员哪些错误造成的?
此次美团大面积崩溃事件,也在云和数据的JAVA班和PHP班引发了大讨论,在云和数据JAVA班资深讲师李老师看来,bug的出现一般是由程序员的代码错误造成的。
那么,程序员在写代码时一般会犯哪些错误呢?李老师总结了以下几点:
1 缺少必要的注释
大段的if-else缺少注释,让维护者无法快速分辨分支逻辑。特定地方存在hack或复杂逻辑的代码,缺少注释会让后来者不明所以。为了你好,也为了后来者好,请务必加上代码。说不准以后还是由你来维护这段代码。
2 不变和变化的部分拆分
程序员中流传着一句话,此处不要写死,将来必改。有经验的程序员会将一些业务层的逻辑抽象出来,写成配置文件,好处就是若后续需求有改变,只需改配置文件即可,肯定不会引入bug。
3 忽视测试部分
程序员中又流传着一句话,没有测试的代码等于没写。虽不敢全部赞同,却也有几分道理。从测试用例驱动开发,持续集成,每次编译自动跑测试用例,能够保证系统的稳定同时也减轻测试成本。自己改的的部分做好自测,理解需求,做一个有责任心的工程师。
4 直接操作数据
你应该通过方法去操作数据,而不是直接操作数据,这样能够保证你总能操作数据正确。例如一个类中定义的属性发生变化了,代码中所有涉及到直接操作该属性的代码都需要修改。如果通过方法操作该属性,则仅需修改操作方法,对于外部调用者,类属性变化被屏蔽了,遵循了解耦的原则,代码稳定性大大提高。
5 缺乏文档或文档质量低下
前期文档很重要,不论是框架的API使用手册,还是需求或设计文档,以及各种既定流程的规范,不同种类的模板及核对表,等等这些文档,对于项目来说都是非常重要的资源。而往往有些项目,这类文档就是交由非软件行业的人员来编写,或者前期根本不打算在文档上浪费时间。
程序员都是怎样找到bug的?
对于一名程序员来说,尤其是编程初学者,如何在复杂代码中找到bug,是一种能力的考验。
关于如何找bug,云和数据JAVA班的学员们引发了一场大讨论,看看他们有哪些自己独到的方法: