d309777443d712ce296580182c043bbf.gif

编写了这么多代码,这十个写出整洁代码的心得,你或许需要。

原文链接:https://aster.cloud/2022/12/15/10-tips-for-writing-clean-code/?continueFlag=09893b9b2b388dcce38f0d0199cd963d

声明:本文为 CSDN 翻译,未经允许,禁止转载。

译者 | 弯月   责编 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

整洁的代码是一种编写代码的风格,主要以阅读代码的人为中心,以这种方式编写的代码不仅易于阅读,维护起来也很方便。掌握如何编写整洁代码是软件开发人员的一项基本技能。通常,编程的基本任务是应用程序能按预期运行,但我们编写的代码不仅仅是面向计算机。

编写整洁的代码,是要认识到你的受众不仅仅是计算机,还有真实的人类——牢记这一原则,我们来回顾一下保持代码整洁的重要性,并深入探讨一些技巧和心得,以帮助我们在实践中编写出真正整洁的代码。

6f6d5530d8e8b82cf6dcfa631f8acbce.jpeg

0d52aa4ac80a71ced44691c74d28e5ff.png

什么是整洁的代码?

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

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

351f94f52b71c8ea50c86c76c9c25cec.png

代码整洁之道三原则

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

1. 选择正确的工具;

2. 优化信噪比;

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

2c01eaa75b046d12a3512186a71a0198.png

十大心得

1. 遵守命名约定

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

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

int iMyInteger = 10;
float fMyFloat = 10.5f;

2. 说明变量范围

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

常用的一种约定如下:

// 私有变量和保护变量以下划线开头
int _iWindowSize = 900;
// 公共变量正常命名
int iWindowSize = 900;
/ 常量全部大写,并以下划线连接
int I_WINDOW_SIZE = 900;

3. 说明变量用途

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

下面是一个例子:

int checkNum()
{
if(n < max)
{
return -1;
}else{
return 1;
}
}

4. 空白的使用

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

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

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

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

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

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

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

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

box1.x = 10;
box1.y = 20;
box2.x = 30;
box2.y = 20;
box3.x = 50;
box3.y = 20;
box4.x = 70;
box4.y = 20;

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

boxArray = [box1, box2, box3, box4];
for(int i = 0; i < sizeOf(boxArray); i++)
{
boxArray[i].x = 10 + i * 20;
boxArray[i].y = 20;
}

7. 强大的字母 i

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

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

//declare variable initially
int i ;
for(i = 0; i<10; i++)
{
//loop stuff
}
for(i = 0; i<200; i++)
{
//more loop stuff
}

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

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

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

9. 函数应尽量简单

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

10. 保持优雅

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

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

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

228aa7bed3e021faf24cf8560d3e47bb.gif

《2022-2023 中国开发者大调查》重磅启动,欢迎扫描下方二维码,参与问卷调研,更有 iPad 等精美大礼等你拿!

4d3902d97030b0261fbbbd82321a5919.png

☞Adobe “杀死了” Flash,我尝试在游戏上“复活了”它!
☞研发了晶体管、培养了“八叛逆”、被称为废物天才,硅谷之父传奇的一生
☞网易称暴雪离婚不离身;苹果发布 M2 Pro 和 M2 Max 芯片;滴滴出行 App 已重新上架安卓应用商店 | 极客头条
Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐