《小酌重构系列》是我在博客园的第一个系列文章,这个系列历时一个多月终于完成了。
完成这个系列后,内心有一些感慨想和你们分享一下。html
写这个系列的初衷是为了团队培训,为何要作这个培训呢?
是由于在项目的开发过程当中,咱们遭遇了一些“代码的痛苦”。程序员
写代码是程序员的基本工做,但写出好的代码不是一件容易的事情。
写不出好的代码,就可能产生痛苦。学习
代码的痛苦包含哪些方面呢?编码
通常来讲,包括可读性较差、不够简洁、缺少可扩展性、缺少可维护性等等。
简单地说,就是代码质量不高。code
“代码的痛苦”也是开发者的痛苦,低下的代码质量可能会下降系统的稳定性。
系统最终是要交付于客户的,系统若是不稳定,客户用的时候会痛苦会抱怨,维护时你不只要忍受客户的抱怨,还要痛苦地去维护“代码的痛苦”。htm
这些痛苦并不是是无根之源,痛苦的产生是多方面的,不只和编码有关,也和管理脱不开关系。
在这里,我仅从编码角度去分析这些痛苦的缘由。blog
在项目开始前,咱们是约定了一些编码风格和规范的。
但实际作下来,因为各成员的编码风格差别,使得有些代码看起来“五花八门”。
为了统一项目的代码风格,一些成员不得不返工去修改代码,而且返工不止一次。ip
每一个人已经造成了必定的思惟方式和编码习惯,即便是一些很差的习惯。
这使得一些曾经发生过的问题,在后续的开发过程当中仍然反复地发生。资源
有些成员专一于功能开发,对代码的规范、整洁度和质量看得较轻,也没有意识去思考如何写出优秀的代码。
固然这也和编码习惯有关,习惯性的不去思考代码质量的问题。开发
限于时间和资源问题,在项目中咱们只能花费较少的时间来进行code review。
虽然每次code review能发现一些问题,但每次代码问题的解决方式都只到表面,内里没有获得根本性地解决,这也是一些问题反复发生的缘由之一。
代码的痛苦就比如一个慢性疾病,如今咱们已经知道了本身得的是什么病,以及病发的缘由。
接下来要作的就是如何科学有效地治疗这个疾病,让本身渐渐康复起来。
因而在团中,我就作了这个培训,这个培训主要有如下几个指望目标:
仅通过一时的培训,是不可以解决代码的痛苦的,因而咱们采起了培训+实践的方式来解决痛苦。
在通过大约2周的培训,以及近2个月的反复实践后,团队成员总体的代码质量已经有所提升。
关键的是,一些缺少意识的团队成员已经产生了自主思考的意识,知道去思考代码的一些细节了。
在开始这个系列以前,我使用Onenote基本打好了全部的草稿,这些草稿的内容大可能是一些文字和图示,代码则单独地放在VS解决方案中。
因此在开始正式写第一篇文章时,我就列出了整个系列的大纲。
草稿终归是草稿,真正动键盘时,仍是发现草稿中有不少瑕疵存在,以至于草稿中的文字我基本没有用到。
草稿并不是没有做用,每次我都会站在第三者的角度去审视和思考草稿的内容,它指引我向更深处去思考一些问题。
限于本人浅薄的知识和穷乏的描述能力,有些深刻思考的内容没能在文章中表达出来。
若是只有一天的计划,让本身按时作完这一天的事情,我相信绝大多数人都可以作到。
生活和工做每一天都在继续,我写这个系列,是想让本身每一天都能按计划进行下去,更是想让本身长期地坚持下去。
在开始这个系列时,我乐观地计划天天应该完成一篇。
诚实地讲,我知道本身不可能100%的完成这个计划,能有80%就不错了。
由于天天都会有不一样的事情出现,有些事情你是不得不去优先处理的,其余的事情极可能致使完成这件事情的周期被拉长。
定这么个计划,是为了时刻督促本身要坚持完成这个系列,不要半途而废。
不少事情要作就作完,作一半还不如不作。
我我的比较欣慰的是,虽然中间由于假期暂停了将近10天,但假期一结束后,我当即接续完成了最后的几篇文章。
这个系列带给个人收获主要有两点:
关于重构这个系列并无完结,以后我会挑一些项目中实践的代码做为示例为你们解释重构的过程。 接下来我还将写几个系列的文章,近期应该会写JavaScript系列或ASP.NET MVC系列的,尽请期待。