程序员晋级方法:从野路子到职业化

在2017年年初时,这个问题啪的一下,贴到了眼前—“职业的软件工程师的代码是怎样的?”。以前念书也有这个疑问,但因为不工作,所以也只是放在了心上。但2017年是个拐点,从16年懵懂的试水,到17年找到职业发力的方向。构建高质量的代码是刚需,因此,这一年有认真考虑这个问题,在一定的代码积累下,也有了自己的答案。同时,也想把这份经验分享给有同样困惑的人。

其实,问题的答案也很简单。只要做好如下4个方面,就能构建职业化的代码。其分别是:遵循规范、写注释、日志输出、函数IO。

(1)遵循Google代码规范

遵循规范是指要遵循一份统一的代码规范来写代码。这个规范可以来自公司,或者参照谷歌规范。规范里有变量和函数的命名等。比如,表示年份的变量名用 year;等

程序是一种计算机语言,使用统一的语言,一方面是减少出错的可能;另一方面,是便于将代码提交给维护人员。《代码大全》的作者讲,“很多人以为程序语言是人与机器进行交流,实际上,程序语言还是人和人进行交流,比如代码的维护,是人与人的交流;实际代码产品的提交,其最终的用户是人,而不是机器”。

吴军老师给出了Google员工是怎样参照代码规范的,“在Google,写代码的规范是有严格规定的,那种规定近乎苛刻,不仅要求给变量起名字要有特定的格式,单元测试要覆盖100%的代码,程序的注释要占到篇幅的三分之一左右,就连多一个空格都不允许。任何不符合这样不近人情的规矩的代码,是不能提交的。”

(2)使用Doxygen写注释

写好注释是职业化代码构建的第二个需求,注释的重要性不言自明。个人建议是使用Doxygen规范来写注释,该规范的注释能自动生成说明文档,也减轻了不必要的工作量。

(3)使用GLOG进行日志输出

日志输出是指,输出代码的中间结果。一方面,中间结果有助于检查代码是否正确。如果出错,也能快速定位到函数进行debug。另一方面,日志是一份代码结果的记录,这也是一份需要保留的资料。

(4)函数的IO

函数的IO是指,函数的输入需要检查是否正常,函数的输出需要返回结果,用于标记函数的运行是否正常。

程序的基本单元之一是函数。也就是说,如果函数写的不规范,整个工程出错的可能性会大大提升。如果说细胞是生物的基本单元,如果细胞有问题,那么肌体组织就很可能有问题,整个生物的健康情况可想而知。

《代码大全》里指出,要使用防御式编程的思维。也就是说,要防止错误的输入值,因为,错误的输入会导致错误的输出值,这会导致结果的不可控。但如果在函数一开始就对参数进行检查,确认其正确性,这就能快速定位错误,有助于debug;输出是指要确认函数运行是否正常。如果运行过程出错,要显示出错的类型,最好是错误码。

以上4点是基本需求,除此之外,培养debug习惯、使用开源工具也是职业化工程师的基本需求。

当然,这4点说起来容易,做起来是需要付出时间,养成习惯的。如果新手想要一次性的把这4点规范都用到,实现上会有难度。所幸代码的构建是一个迭代的过程,从简单的Google规范开始,逐步来增加和培养自己的编程习惯,做到比上次好就可以了。

下图是跨年在双月湾拍的,烟花很绚烂。也很符合新年的氛围。

程序员晋级方法:从野路子到职业化_第1张图片
绽放


心愿

你可能感兴趣的:(程序员晋级方法:从野路子到职业化)