从任正非公开信说起,谈代码规范的重要性!

ncdxlxk ncdxlxk     2023-02-24     207

关键词:

技术分享图片

 

最近的1月2号,任正非发布了题为《全面提升软件工程能力与实践,打造可信的高质量产品》致全体员工信,这也是今年华为总裁办签发的2019年001号文件。在信中,任正非强调了高质量软件产品的关键特性,呼吁各软件工程师理解架构的核心要素、重视代码质量、遵循业界共识的标准和规范,并计划用5年时间投入20亿美元全面提升华为软件质量。

 

任正非的公开信

在我的印象中,关于某某公司宣布重金投入一个领域、一个产品的新闻有很多,比如某度和某米的all in;但华为这次却很不一样,20亿美元的投入点居然单纯是冲着软件质量去的。和前面的新闻比,华为这次的投入针对的不是增量而是存量。于是我们不禁要问:花一百多亿人民币的代价,甚至不惜影响现有的团队开发节奏,去做一件并不能带来短期直接收益的事情,华为值得吗?

 

我想任正非是坚定地认为值得的,从他的公开信中就能够看出来:在信的开篇,任正非就告诉华为员工公司正处在一个新的起点,并明确把网络安全和隐私保护作为公司的最高纲领。也就是说,面对全面云化、智能化、软件定义一切等发展趋势,他意识到软件工程的可信度将在接下来的时间内变得尤为重要,做不好是可能连入场券都拿不到的!

 

随着5G、深度物联网建设即将拉开序幕,数据在日后将变得异常丰富。华为作为数据采集的主要设备方、管理者,必然要肩负起维护数据安全的责任,若稍有不慎发生一定范围的系统故障、数据泄露等问题,带给公众和公司的冲击会是巨大的。

 

因此,任正非的这个决定看似针对的是公司现有存量,实际出发点和十年前马云决定做云计算是一样的:不可不做,因为这就是未来!

 


代码规范为何重要?

写这篇文章,主要不是要聊任正非的这封信,而是想借此谈论一些关于软件质量的看法。包括我在内的大部分软件工程师在现阶段是无需过多考虑架构的,我们面临的最直接要求就是软件编写要遵循统一的代码规范,因此本文就围绕代码规范来讲。

 

每一位参与过工程代码编写的软件工程师或许都会说:“代码规范很重要”!若要问为什么重要时,得到的答案大概会是:“代码规范就像是团队的共同语言,大家使用统一的语言交流会更加顺畅,避免额外的沟通成本”。如果进一步追问还有没有其它因素,很多工程师就无从说起了。

 

事实上,软件团队开发遵循统一的代码规范的确能够大大提升整体代码的可读性,不过还有更为重要的一点是:代码规范实际是架构细节实现的一部分,设计工程架构时会有安全性、韧性、扩展性、可维护性等多个方面的考虑,软件规范的落实情况将很大程度上决定软件工程在这些方面上的表现。这也是为什么任总在公开信中会呼吁员工要深刻理解架构的核心要素。

 

在软件开发中这样的情形是很常见的:

  • 程序崩溃了,没有任何提示信息,只能通过不断地重复尝试复现,慢慢定位问题点。

  • 有人针对自己维护部分代码做出修改并局部测试成功后上库,结果引发其它模块的功能问题。

  • 代码冗长且逻辑复杂,交接给他人维护造成噩梦般的体验,甚至连编写者本人都难以重新理解。

  • 工程代码有移植需要,发现裁剪困难,同一硬件平台的迁移甚至都要反复调试。

……

 

你看,即使我们拥有了统一的命名风格、代码格式、严谨的注释,依然无助于以上这些问题的发生。形式上的统一固然是代码规范中必不可少的部分,但代码规范还应包括体现良好架构设计思想的一些原则,甚至更为重要。

 

然而,现实的问题往往不是有没有书面的代码规范,而是有了代码规范后团队能否一以贯之。

 

有太多的理由让软件工程师们放松对代码规范的遵守了:

  • 项目工期紧、领导催得厉害,这个时候抓代码规范分散太多时间,应该让路于基本功能的实现。

  • 接手的时候代码就没按照规范来,因此我再遵守也没意义。

  • 让代码能工作,才是专业开发者的头等大事,要分清主次。

……

 

以上的种种理由看似有一定道理,仔细琢磨其实完全不是那么回事,是站不住脚的。

 

比如最常见的第一点,因为赶进度,所以没那么多时间注意规范。实际情况是:

(1)在项目的开发中,绝大部分的时间是消耗在 bug 调试而不是写代码上的;

(2)在写代码的同时注意代码规范的维护,并不会牵扯太多时间;

(3)写代码的时候更多时间是在读代码,读代码和写代码的时间比一般在 10:1 左右,而代码是否规范,将及大地影响阅读代码的效率。

如果注意到这些事实,代码规范还应该让位于工程进度吗?

 

对于第二点,仿佛是在说:在一个本来就很烂的代码上坚持我的代码规范是没有意义的事情。这就好比我们同他人交往,我们有必要因为别人没有礼貌,就允许自己变得跟他一样没有礼貌吗?

 

对于第三点,今天编写的功能极有可能在下一版本中被修改,但代码的可读性却会对以后可能发生的修改行为产生深远影响。

 

版本经理、领导可能站在他们的角度而更关心项目进度,这并不意味着软件工程师可以放松对代码规范的遵守,只给领导看到他们能够看到的。所有不符合既定规范下写出来的代码在往后的维护上带来问题的可能性是极大的,也许是以 bug 的形式体现;也许就是一团乱麻,让人望而生畏。这些不规范的问题不会随着时间的推移而自动消失,它们会转化成技术债务,是债总是要还的,而且还利滚利!今天不还,明天后天还是要还;自己不还,别人就要还得更多;当哪一天软件工程师疲于还债,离职或许就会发生了。

 

很多团队往往因为赶工期而加班加点,却不太舍得多花些时间对大家的代码规范意识进行指导和培训。就像时间管理的四象限法则,人们总是花太多时间在「重要又紧急」和「紧急又不重要」的事情上,对于「重要不紧急」的事情往往视而不见。

 

落实代码规范就是那个重要不紧急的事情,希望我们都能注意到它,从维护代码的恶性循环中走出来,把软件开发变成一件愉悦的事情。

 


参考资料

【1】《全面提升软件工程能力与实践,打造可信的高质量产品》——任正非公开信

【2】《代码简洁之道》——Robert C. Martin.

 

 

·END·

 


 

你可能还感兴趣:

SIMD数据并行(一)——向量体系结构

SIMD数据并行(二)——多媒体SIMD扩展指令集

SIMD数据并行(三)——图形处理单元(GPU)

SIMD数据并行(四)——三种结构的比较

现代处理器与代码性能优化

关于代码执行效率优化的一次内部分享

 

欢迎来我的微信公众号做客:信号君

专注于信号处理知识、高性能计算、现代处理器&计算机体系 

 

技术成长 | 读书笔记 | 认知升级

技术分享图片

幸会~

技术分享图片



任正非经典讲话合集

 1994-1999 学习 每天一篇任正非:致华为新员工书|第1篇每天一篇任正非:赴美考察散记|第2篇每天一篇任正非:繁荣的背后都充满着危机|第3篇每天一篇任正非:华为是一个功利集团|第4篇每天一篇任正非:不要忘记... 查看详情

任正非内部讲话:维持生存的根本就是不能腐败

...讯1月17日晚间消息,在上月初的华为监管体系座谈会上,任正非发表《内外合规多打粮,保驾护航赢未来》的讲话,强调监管工作的重要,表示维持生存的根本就是不能腐败;华为发展快而腐败少,得益于在管理和控制领域做出... 查看详情

时代人物之任正非

先说一故事:任正非2004年作为中国经济年度人物候选人,编导说如果要获奖,就一定要出席颁奖典礼,但任正非说他不愿意参加,所以直到现在把中国有名的企业家都数遍了的中国经济年度人物也没有任正非。另外关于任正非... 查看详情

不得不服的华为管理:任正非给员工讲的18个故事

不得不服的华为管理:任正非给员工讲的18个故事电商报2016年02月19日07:21我要分享[摘要]华为用“灰度”的思想指导各项实践,“灰度”思想是华为成功的重要法宝。腾讯科技精选优质自媒体文章,文中所述为作者独... 查看详情

任正非:我的父亲母亲

我的父亲母亲 是一篇励志、教育的文章,作者是任正非。这是一位企业家灵魂的自我表白,它是一位孝子如泣如诉的祭文;更为主要的是,它是中国一代商业领袖艰辛成长史的写照。 推荐语 我不止一次含着泪读这篇... 查看详情

任正非:我的父亲母亲

我的父亲母亲 是一篇励志、教育的文章,作者是任正非。这是一位企业家灵魂的自我表白,它是一位孝子如泣如诉的祭文;更为主要的是,它是中国一代商业领袖艰辛成长史的写照。 推荐语 我不止一次含着泪读这篇... 查看详情

读《任正非采访》采访有感

由于最近贸易站的原因,任正非出面接受了采访。读完整个采访的内容,内心久久不能平静,佩服于任老的胸怀,“海纳百川,有容乃大;壁立千仞,无欲则刚”。做好自己的事情,别人怎么想,别人怎么看,那是别人的... 查看详情

任正非521央视采访全文

看了5月21日任正非采访全文,有很多感慨和收获,访谈全文转发记录下。 1问:首先,我是一个做直播的记者,您是军人出身,严把时间关,我也是严把时间关。时间过得真快,四个月前同样是这个地方,我们做过一次访问... 查看详情

任正非反思:华为会不会是下一个美联航?(企业必需以客户为中心)

集微网4月20日报道?虽然任正非早已经不再具体管理华为内部事务,但是依然是华为公司的灵魂。4月18日,任正非又在内部战略预备队座谈会上谈了很多目前华为内部面临的问题。谈话内容最令人关注的就是任正非关于“华为... 查看详情

华为任正非访谈

 https://www.jiemian.com/article/3161265.html http://tech.qq.com/a/20190526/005484.htm 查看详情

让任正非愤怒的到底是华为财管团队还是流程本身?

导读:“皮之不存,毛将焉附”,任正非的这份指责里透露出更多的是无力感,也许华为该真正正视的是:管理该怎么支持以客户为中心的文化?正文让任正非愤怒的到底是华为财管团队还是流程本身?     &nb... 查看详情

任正非讲话稿pdf整理版

任正非讲话稿PDF整理版任正非思想之路这里收录了任正非讲话稿400余篇,从1994年到2018年,从深圳、中国到东南亚、非洲、欧洲、美洲,从研发、市场、服务到财经、人力资源、战略、内控与公共关系,从交换机、通讯设备、移... 查看详情

任正非:我们要专门去找“高鼻子”!世界级数学家加入华为

9月28日,华为心声社区发布公司总裁任正非最新讲话《敞开胸怀,解放思想,敢于吸引全世界最优秀人才》。这是任正非在“2022年优秀人才&‘高鼻子’获取工作汇报会”上的讲话。任正非表示,这几年华为的... 查看详情

任正非致歉华为前程序员:回来吧,公司错了

近几日,因着任正非连续签发邮件,无处不在热议华为,其中与所有的技术人可谓密切相关。除了一员工因说真话,被晋升两级,根据其自愿选择工作岗位及地点,并由无线网络产品线总裁邓泰华保护其不受打击报复之外,更有... 查看详情

任正非竟然要炸掉华为「研发金字塔」,到底怎么回事?

...#xff0c;该文章作者为署名“泥瓦客”的海归员工,并由任正非签发。这篇文章最近在互联网上引起了热烈传播和讨论。任正非签发时说:在技术工作的客气是 查看详情

任正非自罚100万,最新讲话《从泥坑中爬起来的是圣人》

集微网1月18日综合报道今天,朋友圈再次被华为任正非的消息刷屏。一则是“经营管理不善”问责,任正非罚款100万;另一则是最新讲话《从泥坑中爬起来的是圣人》。1月17日晚,一张疑似华为内部文件图片被传出。图片... 查看详情

任正非最新谈话:吉田社长

 关于华为内部管理 吉田社长:索尼公司从创业至今有72年历史,我是第11任社长,今年4月开始任职。我从索尼公司的创始人盛田先生身上主要学习到三点:第一,我们需要拥有危机感;第二,我们需要保持谦虚的态度;... 查看详情

任正非,就会折腾

“兄弟们,好好干,未来的电信市场,华为三分天下有其一。”“兄弟们,好好地干!我们的市场前景广阔得很,到那时大家的钱多得不得了,多到什么程度呢?就是钱在衣柜里面装不下,太多... 查看详情