程序员该敬畏每一行代码?填好每一个坑才是!

百家 作者:程序人生 2018-07-02 05:41:26

点击上方“程序人生”,选择“置顶公众号”

第一时间关注程序猿(媛)身边的故事


图片源自Westworld Season 2

作者

五五

白天搬砖,晚上砌梦想。相信每个人有故事,程序员更是有许多事故,书写最接地气的程序员故事。

如需转载,请联系授权。



前几日阿里云故障,次日官方在声明里具体阐述故障原因,最后写道“敬畏每一行代码,敬畏每一份托付”。



每个程序员的心里是否敬畏每一行代码不可而知,但填好每一个坑是每个程序员的必修课。


01


你是否经常遇到这样的情景:负责开发的项目遇到线上bug,心想这不是我的锅,先不管了,放着吧;代码写完后,隐隐感觉有问题,可程序跑得通,先用着吧;接手一个老系统,这什么破代码,算了,改吧改吧将就用吧……


今天绕过的坑明天将加倍回来:


下次再改这块代码你仍然遇上它,只能硬着头皮一行行捋代码解决;线上某种场景触发问题代码,造成意想不到的崩溃;老系统改起来太费时间和容易踩坑,不如花时间重构。


测试向你吐槽你写的bug,你否认道,这是前人挖的坑。PM改需求时说这里只加了个小功能,等到你开发时刚要挖坑,轰地掉进一个天坑里。你有没有发现,每天的工作实则是在填一个接一个的坑。


填坑力,是程序员要具备的核心技能之一。


02


填坑力说到底是解决问题的能力。


还记得自己上一次快速成长是什么时候吗?是往做了一年的系统上CtrlC,CtrlV?还是去给人讲你熟悉的业务框架?


人无法在顺境中成长,而是在逆境中成长:新跳槽一家公司学习全新业务和技术框架,一边闯祸一边改进;公司想引进某项新技术,你被指定在一个月内完成迁移,于是你捉紧时间下班后扒技术文档,周末在家写demo……


从坑里摔倒爬起后才明白,先前遇到的问题,其实是成长机会。


几年前震惊互联网的“3Q大战”,360给腾讯挖了个天坑,腾讯艰难填坑对战。而后马化腾给员工内部信写道,如果没有360的发难,我们不会有这么多的反思和感悟。或许未来有一天,当我们走上一个新的高度时,要感谢今天的对手给与我们的磨砺。


随后腾讯改变战略发展方向,走向“开放”。


我们似乎一直活在坑里头:挖坑的挖坑,掉坑的掉坑,填坑的填坑。可不管乐不乐意,人只有努力把身下的坑填好,然后去下一个坑,如此往复,才有真正的成长。


03


虽然程序员通常主张“我的锅你来背,我的坑你来填”。但是低级坑请别挖:


1.天坑:不写注释

排期紧张,新人海宇匆匆忙忙地将代码堆好便申请提测。可他的TL一句话将给他打回去重写:一行注释都不写谁能看懂!


有一位开发说,注释和代码同等重要,注释要写的清楚明了,让测试甚至是PM能读懂你的代码,这才算一个合格的程序员。


2.山坑:不写接口文档

有些公司的前后端联调基本靠吼,“哥们,某参数少传了”、“这个字段得大写”、“你传这么多我没用,算了,放着吧”……


曾见过一个测试reject开发的邮件:前端没传某参数,导致流程跑不通,reject。


技术人员通常不爱写文档或者不愿意在文档上花时间,导致前后端各开发各的,没有规范标准,如需和外部系统对接时,又得捋一遍代码找接口参数。接口文档能节约联调沟通时间和减少bug引入,提高代码质量。


3.地坑:不考虑拓展功能

代码不解解耦,不考虑未来可能会拓展的设计,无疑是在给队友挖坑。


小袁接手一个烂尾项目,上线后需要初始化数据,怎么也找不到批量处理接口。打电话问已离职的前同事,“什么?你当时只写了跑单个数据的接口,没写批量的?”


除了上面几个坑外,还有底下的挖坑指南:

不实时容错,程序只按照自己脑子“理所当然”的轨迹运行;

将判断放在一层层深不见底的逻辑里;

一个方法写了上千行,没人敢动;

从不自测。



掉坑容易填坑难,程序员之间最铁的关系是,当我确定前方有坑后,立马告诉他人这里有坑,你不要踩了,等我填好后再来吧。


- The End -

「若你有原创文章想与大家分享,欢迎投稿。」

加编辑微信ID,备注#投稿#:

程序 丨 druidlost  

小七 丨 duoshangshuang


???

更多精彩内容

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接