你应该把代码重构当成你的编程习惯

程序员,其实你可以做的更好
服务器君一共花费了208.658 ms进行了5次数据库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议

写代码,这个是每个程序员(无论是菜鸟,还是大牛)都会的技能和几乎每天都做的事,如同厨师会炒菜、民工会码砖一样。虽然都会,但看其代码就可以大概知道此人技术咋样,最起码可以看出其代码写的好与差。——好的代码就像是好的文章,让人一看就感觉:思路清晰,作用明确,实现简洁,所以说写代码是门艺术,想成为高级程序员就必须掌握好这门艺术。此文要跟大家分享的就是我对练好这门艺术的核心技能:"代码重构"的看法!

“代码重构”并不是像算法那样深奥,需要你有相应的“硬件”(数学等方面知识)支撑,是你从开始学习编程就可以也应该锻炼的技能,这也就是我此文想要说的核心:将代码重构成为一种习惯。

是的,你需要把代码重构培养成为一种习惯,因为只有这样,你才会将代码重构融入到你写的每段代码中,并且会认为就应该如此做。看到公司做开发的同事写的代码,感觉一方面是编码风格上不同、有点儿各树一帜——公司在开发上不是没有规范,而是大家没有把规范落实、去遵行,更况且规范比较粗略,这就导致在看或维护别人写的代码时,经常会感觉跟自己的编码风格差异比较大,阅读起来比较费劲,甚至头疼、有想抓狂的冲动。规范对于团队开发相当重要也是必须的,要不然也不会有很多大公司(像华为)都有自己比较严格和细致的开发规范,其作用也毋庸置疑:能提高团队开发的效率,确保编码风格上的一致性,降低维护的成本……——想想看,当一个团队中大家都遵行规范,这个规范可以小到类名或变量名的命名规范,也可以大到模块文件夹目录结构,如规定:全局变量统一以'_'开头,模块对外提供的服务类,都统一放在service文件夹下...,如此这样你在看别人写的代码,就跟看自己写的代码一样(如果规范粒度越细,其相似度就越高,可能就难分你我了),也能比较方便快速的看懂代码的意图和找到需要的类或方法。另一方面,“代码重构”做的并不够好,即使是经验比较丰富的程序员,其代码中充斥着一些重复的代码段,为此在开会时我提出我们应该注意“代码重构”,并询问他们对其看法,其答复基本上是:开发时时间比较紧,不想花那点儿时间去进行“代码重构”。然后,我就问“那样是不是导致你们在维护自己的代码时,连自己都会感觉头大和费时间”,他们的回答是肯定的。其实,不想去做“代码重构”的编码,在以后维护中,你会花更多的时间去做当时用个一两分钟就可以搞定的事,而当你把"代码重构养成一种习惯"后,"代码重构"就不再是你认为的"额外的事",你会很自然也感觉必须要这样做

“代码重构”并不是说你对设计模式比较熟悉才可以,因为不少程序员可能熟知各种设计或开发模式,但并没有认识到“代码重构”的重要性,也更没有将其成为一种习惯。就我自己而言,虽然我对设计模式知道的很少,也不会“得心应手”的去使用,但我一直(大概是工作一年后到现在)以“确保自己写的代码里没有重复的代码段”这个基本原则规范自己的编码,也同时要求和提醒着自己:要保证每行代码或每个变量都有意义,没有多余的,并保持每行代码都不可随意改变顺序以呈现编码思路的清晰逻辑

最后,我想说的是:你应该在工作中多想和考虑,如:如何让自己的代码写的让别人用起来简单易用,不要只会“写代码”,也更不要盲目的追求技术上的狂热将代码写的生涩难懂,增加了复杂度,好的代码应该是:简洁高效的实现。程序员,其实你可以做的更好!

本文地址:http://www.nowamagic.net/librarys/veda/detail/1619,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.nowamagic.net/librarys/veda/detail/1619

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏

大家都在看

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下。

所以,阅读一百本计算机著作吧,少年!

《人月神话》 弗雷德里克·布鲁克斯 (作者), 汪颖 (译者)

《人月神话》原文:The Mythical Man-Month: The Essays on Software Engineering, 2nd ed.在软件领域,很少能有像《人月神话》一样具有深远影响力并且畅销不衰的著作。Brooks博士为人们管理复杂项目提供了最具洞察力的见解。既有很多发人深省的观点,又有大量软件工程的实践。本书内容来自Brooks博士在IBM公司System/360家族和OS/360中的项目管理经验。该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄中等多种语言,全球销量数百万册。确立了其在行业内的经典地位。

更多计算机宝库...