代码整洁之道(Clean Code)笔记——第二章:有意义的名称

引言

在软件开发中,命名通常被视为最棘手的挑战之一,因为它会影响代码的清晰性和可维护性。就如同在日常生活中,名字对于识别人、地点和事物至关重要一样,代码中的命名对于使代码易于理解和管理也必不可少。由于代码是由人编写的,所以在开发代码库时采用良好的命名规范非常重要。

我将分享《代码整洁之道》一书中关于良好和不良命名实践的一些关键见解,并附上示例来阐释这些概念。命名不仅关乎你如何标识自己的工作,还关乎其他人日后如何理解它,因此,它在软件开发中起着至关重要的作用。

使用表意明确的名称

选择能够清晰描述变量、方法或类用途的名称,让代码更易于理解。

// 糟糕的代码
int d;
// 整洁的代码
int daysUntilExpiration;

避免造成误导

避免使用可能产生误导或令人困惑的名称,这类名称可能会使代码更难理解。

// 糟糕的代码
int temp = 20; // “temp”代表什么?是温度?还是临时值?
// 整洁的代码
int temperatureCelsius = 20; // 清晰且明确的变量名

做出有意义的区分

确保名称能对实体进行有意义的区分,避免那些没有清晰表意作用的细微差别。

// 糟糕的代码
int data;
int data1;
// 整洁的代码
int userData;
int adminData;

使用便于发音的名称

使用易于发音的名称,以增进关于代码的交流沟通。

// 糟糕的代码
int genymdhmsepch; // 生成日期、年份、月份、日期、小时、分钟、秒(时间戳形式)
// 整洁的代码
int generationTimestampEpoch;

使用便于搜索的名称

使用易于搜索的名称,这有助于代码的导航和维护。

// 糟糕的代码
int x; // 某个重要的值
// 整洁的代码
int maxUserCount;

避免需额外解读的名称

选择那些不需要读者在脑海中进行额外解读或映射的名称。

// 糟糕的代码
int r; // 半径?比率?排名?
// 整洁的代码
int gardenRadius;

类名

类名应当是名词或名词短语,能够清晰地描述其所代表的实体。

// 糟糕的代码
class Data;
// 整洁的代码
class Customer;

方法名

方法名应当是动词或动词短语,用于描述所执行的操作。

// 糟糕的代码
void data(); // 它是做什么的?
// 整洁的代码
void saveCustomerData();

对每个概念使用单一词汇

在整个代码库中,对于特定概念要始终使用同一个术语来指代。

// 糟糕的代码
fetchData();
getUserData();
retrieveAdminData();
// 整洁的代码
fetchData();
fetchUserData();
fetchAdminData();

根据项目领域使用名称

使用项目领域内的术语,使代码更贴合其上下文,更直观易懂。

// 糟糕的代码
int count; // 在图书馆系统中不清楚它指代什么
// 整洁的代码
int overdueBookCount; // 在图书馆系统的语境下清晰明了

添加有意义的上下文

在名称中提供足够的上下文信息,以便代码能够独立被理解。

// 糟糕的代码
int value; // 什么的数值?
// 整洁的代码
int orderValue;

结论

总之,在软件开发中,命名是一项关键且具有挑战性的任务,它对代码的清晰性和可维护性有着重大影响。就像日常生活中的名字对于清晰沟通至关重要一样,代码中的名字对于确保代码库易于理解和管理也起着关键作用。

糟糕的命名会导致代码理解和维护上的混乱与困难,这就好比我独特的名字“阿基纳”常常引起混淆和发音错误一样。通过采用诸如《代码整洁之道》一书中所概述的良好命名实践,我们能够提升代码的可读性和可维护性。

有效的命名会影响代码的清晰性和可维护性,使其成为软件开发中极具价值的一个方面。

我计划撰写这本书的总结以及关键要点,以此提醒自己整洁代码的重要性,并与他人分享这些知识。

写在最后

如果你觉得这篇文章有意思,请考虑点赞并分享给其他人,让更多人能够看到它。

如果你对技术和软件开发感兴趣,我邀请你探索我的其他文章。你会发现一系列涉及编码、应用创建以及最新技术趋势等领域的主题。无论你是经验丰富的开发者还是刚入门的新手,这里都有适合你的内容。

关注我的公众号【AIGC前沿洞察】获取更多内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Qingmu2024

您的鼓励是我最大的创作动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值