软件工程师,请敬畏你的每一行代码!

祖师爷镇楼!

(图片来自百度百科)

(声明:1. 这篇文章写的很乱,排版也几乎没有,如果在意的请左上角X。

2. 由于涉及到一些激动的言论,怕引起误会,不希望本文传播,谢谢)

两个月之前的一个晚上,我正在为一个项目填(jia)坑(ban)。当时和我一起加班的还有项目组另外两个人。中途,一位同事(男,以下称之为A)接了个电话,是一位女性打过来的。具体说了什么我已经记不得了,但有一句话让我印象很深刻,A说:"我这个工作很简单的,会C语言就行了"。

振聋发聩!会C语言就行了!然而我实在是很难理解A君的会C语言是什么意思?是在本科阶段学过C语言就算会,还是像大多数人的简历那样描述的“精通”C语言?我想至少不是只会if和else就能愉悦的自称会C语言了。(Ps:A君在三个月前连union的用法都不明白)

吐槽A君结束,开始今天的主题。

“软件工程师,请敬畏你的每一行代码”,起这样大的标题,我其实有点惶恐的。

但这个号一直就是用来写自己的感受的,就和一直写的笔记一样,不想去顾忌那么多,所以就勇敢的用了。

先说"软件工程师"这个title。大概是今年初的时候,我和另一名同事在下班的路上开玩笑,我说作为程序员,要什么什么。然后他一脸严肃的告诉我,不要自称"程序员",很掉价,更不要说"码农",我们应该自称"工程师"。然而我一直是以码农为自嘲,一直向往着码农翻身,但人民群众觉得应该叫软件工程师,那就用吧。

既然用了"软件工程师"这个名字,那么有些事情,就不一样了。引入这篇文章的主题,请敬畏你的每一行代码!

很多人有个错误的认知,觉得编程很难。那是因为他们学习的第一门语言就是C语言,不巧的是看到了指针,和一些高级或复杂的用法,然后觉得太难,索性不看。当然更多的是被谭浩强,郭天祥等人祸害。

还有一些人觉得C语言很简单,我猜这类人要么是大佬,真觉得简单;要么就是只看了国内大学C语言教材。

几十年过去了,今天C语言依然是最优秀的高级程序语言之一。虽然现在排行榜第一名是Python,但是在嵌入式系统中,C语言绝对是占据了绝对的江山。

我不是去吹捧C语言,而是想说,这样一门富有极具争议性的计算机语言,对于从业者来说,是需要重视的。重视到什么地步,到每一行代码,到每一个变量的每一个位。如果一直说C语言,就狭隘了。不管你用的什么语言,请尊重你的设计,你是需要对你敲下的每一个字符负责的。

刚入行(automotive)的第一天,我的经理对我说:"你知道VW一年的出货量是多少么?上千万辆!你的每一行代码都会影响着产品的命运。一个不慎就是召回,那么代价有多大可以想象。要对你的设计有敬畏之心"。

一年多过去了,我一直在想着怎样提高我的设计可靠性。一个好的架构需要不断的锤炼,很多经验是需要不断的踩坑才能总结出来。踩的坑多了,自然会对整个系统运行更加掌握。

然而,今天晚上,又惊现A君惊人言论。代码review的时候,发现了A君负责的模块有一个隐患,我告诉A君隐患会出现的场景,希望其能重视。或许是我沟通技巧不够,A君直接说我这个符合系统需求,不用改!但是真的是符合系统需求的么,反复分析之后,告诉他,他的说法是自相矛盾的,问题根本不是系统需求有问题,是其设计有问题,然而还是不能引起重视。行,我只是一个小开发,我的分量不够,于是请教了高人来分析,最后听明白了,还是不改。得过且过。反正又不是很重要的使用场景。

虽然改动量只有一行代码,但却切实影响着产品的工作状态。我很难对这种得过且过的心态保持平和。

多么希望身边的同事都有敬畏之心,不仅仅是对代码的敬畏,是对自己做的产品的敬畏,是对自己的付出的自我承认。

(Ps: 不要成为A君)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180802G01TT800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券