代码洁癖系列(一):什么是整洁代码

做为一个代码洁癖患者,我最大的愿望就是世界和平……对不起,拿错剧本了,最大的愿望就是将对代码的洁癖传播给每个人,净化全部的代码。这是一个宏大的愿望,但我会一直努力净化我所看到的每一行代码,而且但愿能影响更多的人,让你们都写出整洁的代码。程序员

在阅读本文以前,想先提两个问题:微信

你是程序员吗?编辑器

你想成为更好的程序员吗?函数

若是上面两个回答都是确定的,那请你继续读下去,不然就能够直接关闭网页了。单元测试


什么是整洁代码测试

相信有过必定工做经验的程序员都读过别人的代码,也必定看到过槽糕的代码,看到那些糟糕的代码时你是否是在想:这写的什么垃圾东西,读懂这段代码所花费的时间我都能把这个功能再实现一遍了。还有另外一种状况:引用别人的代码时,为了能按时完成,不得不去适应别人的代码风格,跟着制造混乱。当混乱愈来愈多时,整个团队的生产力也愈来愈低,直到最后不得不把全部代码从新整理一遍,而这个工做里可想而知。spa

上面说的都是糟糕的代码所带来的影响。那么什么是整洁的代码呢?在我看来能够从两个方面定义整洁代码:.net

      外在美orm

外观看起来优雅美观的代码会令人心情愉悦。其中主要体如今:代码所在的位置是否恰当,代码里是否有适当的注释,适当的缩进和空行以及没有重复代码等等。blog

      内在美

外在美只是“看起来”令人心情愉悦,若是缺少内在美,那么当别人真正开始读的时候,刚才愉悦的心情会在一瞬间烟消云散。而内在美则体如今:尽可能少的API,代码之间的尽可能少的依赖,干净利落的抽象和直截了当的控制语句等。

在理解了什么是整洁代码后,但愿咱们在写每一行代码以前都要思考一下,这行代码是否足够整洁,是否让人看了心情愉悦。

以后的一段时间,我也将会从如下几个方面和你们分享,如何写出整洁的代码。

有意义的命名

什么是无心义的命名?若是代码中全部的变量名,函数名都是abcd之类的,相信你在看到这样一段代码的第一眼就已经失去了读下去的欲望了。也许有人以为这太极端了,认为不会有人这样写代码。那么咱们在考虑一下,我为一个变量命名为name,那么在没有先后语境的状况下,你能想象出这个变量是用来作什么的吗?是一我的的name仍是一个物品的name,是firstName仍是lastName?因此,有意义的命名对代码阅读是很是重要的。


如何定义类和函数

如何定义相信你们都会,毕竟这是最基本的操做,那么怎么才能算是整洁的类和函数呢?


要不要写注释

大多数程序员都以为写注释(文档)很麻烦,以为本身的工做就是实现功能,本身写的代码本身能看懂就行。事实上真的是这样吗,他们真的能看懂本身三个月前写的代码吗?

另外一种程序员知道要写注释,可是他们写的注释都是诸如:“这是一个方法”、“这是一个循环”……这样的注释写出来真的有意义吗


如何排版

这个属于外在美,第一印象很重要,第一眼看上去很好,才会继续看下去不是吗。


错误处理

代码运行时的错误如何处理吗?所有抛出去,交个用户处理?所有catch住,隐藏起来不处理?这两种程序员相信都会被老板当成错误处理掉吧。


合格的单元测试

什么样的单元测试才算合格,单元测试对代码的覆盖率要达到多少?


迭代

胖子历来都不是一口吃成的,怎么才能让你的代码愈来愈饱满,系统愈来愈稳定呢?惟有不断迭代。


结语

上面这些问题,我将在后面的文章中挨个解读。但愿你读完以后,也能化身为整洁代码的守护者。以为这个系列不错的话就帮忙点个赞吧。

END




本文分享自微信公众号 - 代码洁癖患者(Jackeyzhe2018)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索