译者 | 弯月 责编 | 郑丽媛
出品 | CSDN(ID:CSDNnews)
整洁的代码是一种编写代码的风格,主要以阅读代码的人为中心,以这种方式编写的代码不仅易于阅读,维护起来也很方便。掌握如何编写整洁代码是软件开发人员的一项基本技能。通常,编程的基本任务是应用程序能按预期运行,但我们编写的代码不仅仅是面向计算机。
编写整洁的代码,是要认识到你的受众不仅仅是计算机,还有真实的人类——牢记这一原则,我们来回顾一下保持代码整洁的重要性,并深入探讨一些技巧和心得,以帮助我们在实践中编写出真正整洁的代码。
什么是整洁的代码?
整洁代码指的是清晰、方便理解和维护的代码。在编写整洁的代码时,你需要牢记今后还有其他人会阅读并维护这段代码,而你需要帮助他人理解代码的用途,这样他们才能进行修改。
遵循代码整洁之道,可以帮助我们编写高度模块化的源代码,并降低阅读和测试的难度。将编程与盖房子做类比,那么整洁代码就是房子的地基。遵循代码整洁之道是一项基本技能,在需要重构代码或测试代码时,我们就能享受整洁的代码带来的优势。
代码整洁之道三原则
为了编写整洁的代码,我们需要遵循以下三大核心原则:
1. 选择正确的工具;
2. 优化信噪比;
3. 尽最大努力编写出不言自明的代码。
十大心得
1. 遵守命名约定
使用命名约定是一个很好的开端,命名约定不仅可以让代码清晰有条理,而且还能让人立即明白代码的作用。
遵守命名约定意味着,按照特定的规则给变量命名。遵守命名约定很麻烦,而且很多人无法就哪个规则最佳达成一致。所以,我们需要尽量保持简单,例如在变量名前加上数据类型,如下所示:
2. 说明变量范围
遵循命名约定的下一步是说明变量的范围。同样,具体的方式没有统一标准,每个人都有自己的方式,但只要在所有代码中保持一致,就可以清楚地看出什么地方可以使用哪些变量。
常用的一种约定如下:
3. 说明变量用途
这一点非常简单,但也最常见,且最容易被忘记。对于查看代码的其他开发人员来说,最令人沮丧的事情就是看到一个具有误导性名称的变量,或者更糟糕的是,有些变量只用一个字母命名。
下面是一个例子:
4. 空白的使用
通常使用空白都有积极的作用,并且一般没有任何坏处。有时,比如 JavaScript 这样的语言,源代码本身的文件大小很重要,所以你希望文件尽可能小,但空白可能会增加几千字节。如果条件允许,请在开发过程中保留所有空白,以确保代码方便阅读。然后,使用一个小工具来遍历代码,删除所有空白之后再上传。
5. 注释可以救命,至少可以减轻痛苦
在代码中添加注释,功德堪比救世主,我们可以通过注释快速了解某个复杂的函数在做什么,或理解某些操作的顺序。此外,除了解释代码本身的用途之外,注释还可以帮助其他人了解代码试图解决的问题,这可以帮助他们提出更好的解决方案。
但请记住,注释过多有时会导致代码混乱,从而产生不良影响。
6. 利用自动化节省时间和空间
编写涉及复杂技术的代码并不意味着可读性必然会降低。将复杂的代码分开写成多行,不仅难以阅读,而且还会增加出错的概率。不过编程的伟大之处在于,你可以利用整洁、可重用和巧妙的方式表达复杂的命令。
下面是一个糟糕的、不断重复的代码示例:
虽然代码本身看起来没什么问题,而且可以正常工作,但我们并不清楚它究竟在干什么。你可以添加一些简单的注释。
下面是修改后的整洁的代码:
7. 强大的字母 i
当代码包含多个首尾相接的循环时,你需要使用不同的迭代变量。至于应该使用什么一直富有争议,而且答案很主观,当循环一个接一个地出现时,我们应该在循环外声明迭代变量,并重用它。这样,不仅代码方便阅读,而且你很清楚字母“i”就是迭代变量,而且它很高效。
下面,我们来看一个例子:
8. 将所有相似的变量组织到一起
当项目不断膨胀时,类中的变量也会越来越多。首先,你应该将所有变量的声明都放到顶部,或者至少应该放在一起,这样就可以让浏览代码更容易。
其次,将所有变量的声明放在一起,然后再按照一种更容易理解的方式排列它们通常会很有帮助。例如,按照某种方式分组。有时,同一个对象可能会有多种类型,我们应该将它们放在一起,然后将无法分类的变量放在一起。
9. 函数应尽量简单
冗长的函数定义很容易导致代码混乱。我们应该了解一下函数的实际功能。如果某个函数完成的功能超出了函数名包含的意思,就应该将多余的这部分功能拆分出来,编写一个新的函数。
10. 保持优雅
与函数问题类似,如果大量函数都集中在同一个地方,最好创建一个单独的类来代替这些函数的功能。
代码的整洁度是影响代码编写、阅读和维护难度的关键因素。以上我们讨论的心得不是具体规则,你应该将在这些基础之上,找到自己的风格和方式。
重要的是,保持代码整洁、清晰且一致。任何使用代码的人都会感谢你付出的努力,甚至可以从你的代码中学习到新知识。
领取专属 10元无门槛券
私享最新 技术干货