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

关于代码的那些低级错误

无伦你是初级工程师,中级工程师,高级工程师,甚至是全栈工程师、架构师,都是从零开使一步一步走出来的,想必都会犯过一些低级错误。
image

就拿我来说,曾经经我做过SQL SERVER数据库存储过程程序员。
当时我们每个人本地都有一套测试环境,所以测试的时候都是在本地测试。由于测试数据比较乱,比较多,为了更清楚的看清结果,我会经常TRUNCATE TABLE,写到这里大家可能基本猜出来了。没错!在线上出问题时,由于SQL SERVER 查询分析器可以同时开多个数据库连接窗口,我把线上数据库的窗口和线下数据库的窗口弄混了...所以,线上数据库的一张主要表,被我TRUNCATE TABLE了。。。当时刚执行完,过了1分钟我反映过来了,头脑一片空白。。。没办法,只能反映给了主管,主管听到后难得得没说我什么,马上找相关人员去处理。。。经过了大约1个小时后,原来的数据总算恢复了,但也导致了这个业务1个小时不能用。。。我都不知道我那1个小时是怎么过来的,坐在那里,动也不敢动,搞程序也搞不下去,就在网上搜如何恢复数据,话说当时我都准备好公司把我开了的准备了。
image

最后结果是,技术总监批评了我们主管,要求部门整改,线上环境严格控制,必须由他把关。
之后主管也找我谈了话,当然批评是少不了的,作为事故,还是罚了500块钱主管罚了1000。
要知道,当时我工资才3500。当时没被开除就算烧高香了吧。。。
image

事后总结起来,其实这主要还是部门管理方面的问题,我刚入职不久的人就能随便接触生产环境,并且还有很高的权限,这才是最大的隐患。当然个人也有问题,工作再忙也不要急躁,特别是你还在生产环境操作。要慎之又慎。
image

那么请回答下面的问题:
1 各位愿不愿意分享一下你在程序员生涯中遇到的悲伤故事呢?
2 当时通过这次教训,你总结到了什么?
3 现在回过头来看当初那个悲伤的故事,您有什么想说的?

参与话题

奖品区域 活动规则 已 结束

  • 奖品一

    阿里云代金券 x 3

  • 奖品二

    云栖定制电脑包 x 2

  • 奖品三

    云栖帽衫 x 1

71个回答

0

一睡不起 复制链接去分享

曾经在懵逼装太下 对沙箱服務器进行了 rm -rf /操作
不过幸好用的普通用户

0

爱丽娅 复制链接去分享

一颗卫星因为缺少一个标点符号而毁灭。

0

阿逗 复制链接去分享

有次切分支出来开发完成后合并到dev分支上,代码没有合并好,导致dev上的某个接口代码被覆盖。生产环境上一直在loading,那天晚上一直都没睡好觉,第二天一过来,赶紧改完外码,紧急发布版本。

0

zymcoder 复制链接去分享

非常搞笑加惨痛的教训,原来做过一个项目,有一个地方就是一个列表查询。客户查询自己的信息,如果没有就添加上,如果有就校验是否正确。
这是需求,那时候我刚入职没多久,没错,这个查询我写的,刚学会sql后面一堆if的那种判断。结果一个西藏的用户我记得很清楚,他浏览器版本太低了,用户信息没传过来,我后台sql没做强关联,就把所有的信息都给查出来了,用户看到了一大堆不认识的信息,又校验不过去,咋办?估计是个领导,找了个下属专门点后面的删除按钮,一条一条的删。。。删了整整两天,八千条啊啊,后来根据操作日志找到了这个人,打电话过去的。。。我直接懵逼了。。好在花了一个通宵我老大把数据恢复了。。我在那公司有了个外号,八千条。。。

0

孙河小硕 复制链接去分享

新手一枚,学习了

0

1676328182562832 复制链接去分享

因为同事离职了,客户又提了几个bug,临时接手不熟悉的项目维护,SVN down下来代码,Navicat 连接上数据库,然后本地建库准备测试数据的时候,因为懒得导出sql,再本地导入sql,就顺手ctrl c,Ctrl V的数据,因为表名都一样,切换的时候没注意没点到本地表,一个Ctrl V脑子一下子就嗡一声,还好是客户试运行,没有太多数据量

0

刹那是永恒 复制链接去分享

数据备份相当重要,数据有备份你就是打不死的小强!

0

watson黄超 复制链接去分享

刚毕业开始写代码时写出过sum(*),= ‘xx%’之类的坑爹代码。或者层级查询能实现的写了多个子查询嵌套,pivot能实现的写了多个sql union。想想那时候真傻,哈哈!

0

华信伯特 复制链接去分享

有可能第一想办法解决问题,不要慢慢去捉摸,那样时间是可以节约很多。

0

岛主666 复制链接去分享

让驰科技

0

aoteman675 复制链接去分享

1 各位愿不愿意分享一下你在程序员生涯中遇到的悲伤故事呢?
APP兼容没有测试完全就上线了,最后大部分机型和版本主功能奔溃,于是连夜加班紧急修复推送更新。当时也是没有使用云测试平台,太年轻了。

2 当时通过这次教训,你总结到了什么?
多尝试一些变量和未知数。遇到突发问题不要紧张,可以大锅变小锅。

3 现在回过头来看当初那个悲伤的故事,您有什么想说的?
高手都是经验丰富的,没有bug积累,也就没有完美的产品体验。

0

啊哈程序 复制链接去分享

初级小白一枚,linux中操作 mv / /某目录 导致集群单节点瞬间挂掉。 不说了,正在查询解决方法,顺路说下不要犯这种低级错误。

0

fashaodexiaohai 复制链接去分享

要避免低级错误,个人认为良好的编码习惯很重要,比如函数的参数合法性校验,再有就是熟悉语言的特性,比如声明一个变量,你得知道它存储在哪里,堆中还是栈中。

0

1247691855665187 复制链接去分享

777777

0

空空之悟道 复制链接去分享

写代码应当谨慎,举头三尺有神明啊!
一个简单的List.get(0)就可能引发灾难

0

菠萝丶a 复制链接去分享

还好吧,目前还没有遇到重大级别的bug,毕竟技术菜,只能写点低级代码,也不会遇到什么大问题

0

我不起名字 复制链接去分享

作为初级程序员,就已经得到了已经使用的线上系统环境,进行系统更新,由于更新模块比较多,直接丢war包上去,没注意备份系统文件,结果更新后,原系统文件都不了了,特被领导拉去谈话三个小时,差点开除

0

圈养ing 复制链接去分享

我是白 听不明白 但是我希望好好了解一下这个

0

朋友在远方 复制链接去分享

只要是人总会犯错误,咋们看的是发现到解决时间。。。。。。。。

0

1025723416343864 复制链接去分享

刚开始工作的时候,代码没有判断对象是否为null,周末休息的时候,老大打电话问我这个代码有什么问题,如果看不出来什么问题,就去加班

4