首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

让代码整洁的15个技巧,你 Get 了吗?

整洁的代码是一种编写代码的风格,主要以阅读代码的人为中心,以这种方式编写的代码不仅易于阅读,维护起来也很方便。

编写整洁的代码,是要认识到你的受众不仅仅是计算机,还有真实的人类——牢记这一原则,今天和大家分享一些让代码整洁的技巧和心得,以帮助我们在实践中编写出真正整洁的代码。

什么是整洁的代码?

整洁代码指的是清晰、方便理解和维护的代码。在编写整洁的代码时,你需要牢记今后还有其他人会阅读并维护这段代码,而你需要帮助他人理解代码的用途,这样他们才能进行修改。

遵循代码整洁之道,可以帮助我们编写高度模块化的源代码,并降低阅读和测试的难度。将编程与盖房子做类比,那么整洁代码就是房子的地基。遵循代码整洁之道是一项基本技能,在需要重构代码或测试代码时,我们就能享受整洁的代码带来的优势。

 代码整洁之道三原则

为了编写整洁的代码,我们需要遵循以下三大核心原则:

1. 选择正确的工具;

2. 优化信噪比;

3. 尽最大努力编写出不言自明的代码。

 十大心得 

1. 遵守命名约定

使用命名约定是一个很好的开端,命名约定不仅可以让代码清晰有条理,而且还能让人立即明白代码的作用。

遵守命名约定意味着,按照特定的规则给变量命名。遵守命名约定很麻烦,而且很多人无法就哪个规则最佳达成一致。所以,我们需要尽量保持简单,例如在变量名前加上数据类型,如下所示:

2. 说明变量范围

遵循命名约定的下一步是说明变量的范围。同样,具体的方式没有统一标准,每个人都有自己的方式,但只要在所有代码中保持一致,就可以清楚地看出什么地方可以使用哪些变量。

常用的一种约定如下:

3. 说明变量用途

这一点非常简单,但也最常见,且最容易被忘记。对于查看代码的其他开发人员来说,最令人沮丧的事情就是看到一个具有误导性名称的变量,或者更糟糕的是,有些变量只用一个字母命名。

下面是一个例子:

4. 空白的使用

通常使用空白都有积极的作用,并且一般没有任何坏处。有时,比如 JavaScript 这样的语言,源代码本身的文件大小很重要,所以你希望文件尽可能小,但空白可能会增加几千字节。如果条件允许,请在开发过程中保留所有空白,以确保代码方便阅读。然后,使用一个小工具来遍历代码,删除所有空白之后再上传。

5. 注释可以救命,至少可以减轻痛苦

在代码中添加注释,功德堪比救世主,我们可以通过注释快速了解某个复杂的函数在做什么,或理解某些操作的顺序。此外,除了解释代码本身的用途之外,注释还可以帮助其他人了解代码试图解决的问题,这可以帮助他们提出更好的解决方案。

但请记住,注释过多有时会导致代码混乱,从而产生不良影响。

6. 利用自动化节省时间和空间

编写涉及复杂技术的代码并不意味着可读性必然会降低。将复杂的代码分开写成多行,不仅难以阅读,而且还会增加出错的概率。不过编程的伟大之处在于,你可以利用整洁、可重用和巧妙的方式表达复杂的命令。

下面是一个糟糕的、不断重复的代码示例:

虽然代码本身看起来没什么问题,而且可以正常工作,但我们并不清楚它究竟在干什么。你可以添加一些简单的注释。

下面是修改后的整洁的代码:

7. 强大的字母 i

当代码包含多个首尾相接的循环时,你需要使用不同的迭代变量。至于应该使用什么一直富有争议,而且答案很主观,当循环一个接一个地出现时,我们应该在循环外声明迭代变量,并重用它。这样,不仅代码方便阅读,而且你很清楚字母“i”就是迭代变量,而且它很高效。

下面,我们来看一个例子:

8. 将所有相似的变量组织到一起

当项目不断膨胀时,类中的变量也会越来越多。首先,你应该将所有变量的声明都放到顶部,或者至少应该放在一起,这样就可以让浏览代码更容易。

其次,将所有变量的声明放在一起,然后再按照一种更容易理解的方式排列它们通常会很有帮助。例如,按照某种方式分组。有时,同一个对象可能会有多种类型,我们应该将它们放在一起,然后将无法分类的变量放在一起。

9. 函数应尽量简单

冗长的函数定义很容易导致代码混乱。我们应该了解一下函数的实际功能。如果某个函数完成的功能超出了函数名包含的意思,就应该将多余的这部分功能拆分出来,编写一个新的函数。

10. 保持优雅

与函数问题类似,如果大量函数都集中在同一个地方,最好创建一个单独的类来代替这些函数的功能。

代码的整洁度是影响代码编写、阅读和维护难度的关键因素。以上我们讨论的心得不是具体规则,你应该将在这些基础之上,找到自己的风格和方式。

重要的是,保持代码整洁、清晰且一致。任何使用代码的人都会感谢你付出的努力,甚至可以从你的代码中学习到新知识。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230504A06MXZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券