工作思考:拒绝一次性代码

最近做了一些其他产品线的工程开发,由于做的是功能更为简单的控制器,所以市场上的竞争对手很多,项目的工程周期也很短。

即使是二点备胎,也要和其他的一点供应商赶时间,拼进度。

常常是临时组织一堆人,一窝蜂地干得热火朝天。等到项目结束时,团队成员就原地解散了。

由于没有项目和团队的连续性,很多人都抱着一样的想法。“项目节点这么急,哪有空想那么多,先编过了再说。”

就是因为这样的想法,导致了大家所写的代码都是一次性代码。

所谓的一次性代码,就是一锤子买卖,无法被其他人复用。来了一个新的项目,就在base上直接进行修修改改,或者从头重新开发。

在短期时间来看,一次性代码是可以应付当前的时间节点,但下个项目怎么办呢?那再下一个项目呢?

工作思考:拒绝一次性代码:原文配图 1

更令人绝望的是,当项目不可避免的delay的时候,向一个项目添加新的人手并不会使项目提前,我们似乎陷入了一个无法摆脱的困境。❶

然而,项目不可能推掉,需求也无法拒绝,添加新人反而会更加拖延。每个人就这样,被项目的滚滚洪流推动着。看似不断向前,实则随波逐流。

不停地编写这些一次性代码,竟然从来没有想过跳出这个低效的循环。

有时候,大家也会抱怨:“我的base代码就是这么拉胯,我还怎么复用?”

看起来确实如此。但如果你认真地想过这个问题,就会尝试着通过架构设计或添加中间层来对老代码进行封装和隔离。归根到底,还是缺乏思考,或者说是动力不足罢了。

话说回来,即使不从整体的项目角度来考虑,就我们小兵而言,也应该尽可能地编写复用程度高的代码。

想一想吧,你的工资是以代码行数进行支付的吗?应该不是吧。

所以真正具有时效性的软件工程师,在编写每一段代码时,并不会只注重当下,而是着眼于长期。

真正优秀的开发应该是:流水的项目,铁打的代码。

我个人有一个癖好,就是会时不时地去看其他人写的代码。基本上从他的代码风格,就能大体看出这个人的水平。正所谓“码”如其人,这句话还是有道理的。

所以,每一位软件工程师都应该好好想一想,自己写的这个代码,在尽可能少修改的前提下:

● 是否能应对动态的参数调整?

● 能不能复用到该客户的其他项目中?

● 是否同一平台的其他客户也能使用?

● 同一控制器的不同平台项目能否复用?

● 能否跨控制器进行移植?

如果你在编写代码时,都能考虑到以上问题,那我相信你的代码的复用程度绝对不会低。

工作思考:拒绝一次性代码:原文配图 2

本文参考资料

《人月神话》❶增加人手只会使项目更加拖延

工作思考:拒绝一次性代码:原文配图 4

汽车ECU设计

工作思考:拒绝一次性代码:原文配图 5

一个菜鸟程序猿的成长之路。116篇原创内容

公众号

🌏 微 信:@氨气中的战斗机✍🏻 知 乎:@吃完饭后不刷牙👬 公众号:@汽车ECU设计

历史精华文章集合:

【汽车ECU设计】汽车总线文章合集

【汽车ECU设计】Autosar文章合集

【汽车ECU设计】工作思考合集

【汽车ECU设计】第101~150期目录

【汽车ECU设计】第51~100期目录

【汽车ECU设计】第1~50期目录

工作思考:拒绝一次性代码:原文配图 3

氨气“ 携手进步 共同成长 ”

钟意作者

工作思考 · 目录

上一篇 下一篇

工作思考 —— 传统控制器 工作思考:云端工作

← 返回文章列表