这是个老生常谈的话题,多数程序员对此应该都并不陌生,不过从我不太长的从业经历来看,具有良好编码风格的程序员实在是凤毛麟角。个人感受:越优秀的程序员,越具有良好的编码风格。或者换个角度说,有良好编码风格的程序员,其它方面也差不到哪儿去。正所谓:见微知著,细节决定成败,一屋不扫何以扫天下。 关于编码风格,有两本很不错的书:一本是林锐博士的《高质量C/C++编程指南》,一本是bob大叔的代码整洁之道》)。前者适合C/C++程序员,后者适合Java程序员。在我初学编程时,看了《高质量C/C++编程指南》的电子版,有意识地实践,基本上奠定了此后的编码风格。《代码整洁之道》是去年有次部门购书时报的书单之一,由于里面的很多原则早已耳熟能详,我花了两三个晚上快速扫了一遍,然后推荐给组内其它成员看。之所以谈起这个话题,并不是想表明自己的编码风格有多好,只是最近有新人入职,我首先与其强调编码风格,因此有必要将一些心得、想法加以整理,贴到博客上。 代码风格是很多编码习惯的统称,例如:命名、注释、空格/空行、缩进、对齐、括号的使用、函数/方法的设计、概念的组织、抽象层级,等等。好的风格在于一致性,拿命名来说,骆驼命名法、下划线命名法、匈牙利命名法等各有其适用范围,如果你采用某种命名法,就当在你的程序中以一贯之地使用,假如混用就是不良风格了。 在一个多人项目团队里,统一的、整洁的代码风格有很多好处: 易于阅读、理解和调试,从而减少维护成本、提高生产率; 每个人可以快速切入和接手其它人的工作,在人员更替时减少交接成本; 提高团队成员之间的舒适感和信任感,大家写出的代码如出一辙,相互更容易悦纳对方,并且增强信任感; 高质量的代码,加上前述的好处,将提升产品的稳定性和团队的执行力。 计算机教育要从娃娃抓起,编码风格要从新人抓起 不少人认为编码风格无关紧要(特别是项目经验、工程经验较少的人),不注意培养编码风格,编码完全意识流,写哪算哪,只要运行结果正确就完事,一旦定型,很难改变,随着你的工作年限和资历的增长,不会有人监督你,不经意间,造成很高的维护成本,影响自身成长,于人于已带来诸多不便。良好的编码风格,需要一开始有意识地训练一段时间,可能是几周几月甚至更长时间,但最终会从中受益,良好的编码风格有助于提高效率,从而将时间精力解放出来,去做更大范围的或更有意义的事情。
最新评论