您现在的位置是:休闲 >>正文
个人查漏洞补短板个人剖析材料
休闲5人已围观
简介上个月项目复盘,我盯着那页“延期两周”的记录看了很久。不是别人的问题,是我自己漏了一个接口的异常处理逻辑,测试环境没暴露,生产环境一跑就炸。这事让我不得不坐下来,把自己拆开看看,到底哪儿松了螺丝。 最 ...
上个月项目复盘,个人个人我盯着那页“延期两周”的查漏材料记录看了很久。不是洞补短板别人的问题,是剖析我自己漏了一个接口的异常处理逻辑,测试环境没暴露,个人个人生产环境一跑就炸。查漏材料这事让我不得不坐下来,洞补短板把自己拆开看看,剖析到底哪儿松了螺丝。个人个人
最明显的查漏材料是“想当然”这个毛病。写代码时总假设上游数据是洞补短板干净的,接口返回是剖析稳定的。那次就是个人个人,对方传了个空数组,查漏材料我代码里直接取下标,洞补短板崩了。回头翻代码,注释还写着“默认非空”。这种假设不是第一次了,去年做报表导出也犯过,当时是假设用户不会选超过一年的时间范围,结果有人选了三年,内存直接爆掉。两次事故,同一个根:用理想情况代替边界检查。说白了,就是懒,懒得写防御性代码,懒得想“万一呢”。
再往下挖,是学习上的偏食。新技术出来,我总先看它能干什么酷炫的事,跳过它不能干什么。比如用Redis做缓存,文档里“持久化配置”那章我翻得飞快,觉得用不上。直到有次机房断电,缓存全丢,数据库被打穿。后来补课才知道,RDB和AOF的取舍、fsync策略,这些“无聊”的部分才是保命的。我发现自己对“怎么用”很积极,对“怎么坏”很回避。这跟看说明书只看功能页,不看警告页一个道理。
还有个问题,是沟通上的“我以为”。有次需求评审,产品说“用户列表要支持筛选”,我点头就回去写了。做完演示,人家说“我要的是多条件组合筛选,不是单字段”。我当时有点火,觉得没说清楚。但回头听录音,人家确实提了“组合”两个字,是我自己脑补成了单字段。这种“选择性接收”很要命,因为事后复盘时,我第一反应总是“他没说”,而不是“我没问”。现在我会逼自己在评审结束时,用自己的话复述一遍需求,让对方确认。笨办法,但管用。
时间管理上也有漏洞。我习惯把任务排满,不留缓冲。一旦有个bug卡住,后面全乱。上个月就是,修那个空数组问题花了半天,导致原定的代码review没做,又埋了新雷。后来我试着每天只排六小时任务,留两小时给意外。刚开始不习惯,觉得浪费。但两周下来,反而能按时下班了,因为不再用加班补白天的坑。
这些短板,单个看都不致命,但凑在一起,就成了“延期两周”的导火索。补法也简单:写代码前先列边界条件,学新东西先看限制章节,沟通完复述确认,排期留20%缓冲。没什么高深的,就是跟自己较劲,把“想当然”改成“先验证”。
昨天又遇到一个类似场景,上游传了个null,我下意识写了判空。同事路过说“这不用吧,肯定有值”。我笑了笑,没说话。有些亏,吃一次就够了。
Tags:
上一篇:手机验证码泄露多久会知道被骗
下一篇:全网公敌攻略第五章
相关文章
视频教程资源共享网站
休闲视频教程资源共享网站,说白了就是一群“知识倒爷”的狂欢地。我见过最离谱的例子,有人把B站免费的Python入门课打包成网盘链接,标价9.9元挂在某教程站上,月销量居然破千。买家不知道原视频免费,卖家赚 ...
【休闲】
阅读更多程序员修复
休闲凌晨两点十七分,我盯着屏幕上那行红色的报错信息,手指在键盘上悬了半分钟没落下去。`NullPointerException at com.xxx.service.impl.OrderServiceIm ...
【休闲】
阅读更多网站搭建教程
休闲去年帮朋友搭一个卖手工皮具的小站,前后折腾了三天。第一天买域名和服务器,第二天装环境,第三天调样式。上线那天他盯着后台第一笔订单傻笑了十分钟。其实建站这件事,说穿了就是三样东西:一个地址、一块地皮、一 ...
【休闲】
阅读更多