极客视点
极客时间编辑部
极客时间编辑部
113241 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/03:38
登录|注册

如何给程序中的变量起个好名字?

讲述:初明明大小:3.34M时长:03:38
作为开发人员,你要花费大量的敲代码时间来创建变量和考虑给变量起个名字。 你可以命名文件、类、方法和变量。而命名会间接决定代码的好坏,最终影响到代码维护的成本。在本文中,我将向你展示一些简单的命名规则,你可以遵循这些规则来创建名字。

1. 名字要显示真正意图

这说起来容易做起来难。 你多久遇到一次变量名?这些变量名有没有告诉你关于变量的真实信息?
一个好的经验法则是:如果一个名字需要注释,那么这个命名并没有展示出它的真实意图。使用注释是为了弥补我们代码表意上的不足。
选择显示程序员意图的名称可以使别人更容易理解这段代码,因此也易于维护。选择名字需要时间,但是比起维护代码,整体节省时间要多得多。

2. 使用某一领域背景中有意义的名字

程序员写的所有代码都是和某一领域背景相关的,为了让代码得到更多人的理解,最好使用该领域背景下的名字。所以,程序员首先应该考虑的是领域背景问题,之后才是如何出解决方案。

3. 避免误导信息

你应该避免留下掩盖代码含义的错误提示,导致误解的信息比没有任何信息更糟糕。
避免使用误导其含义的词。例如,不要将产品分组称为 productList,除非它实际上是 List 类型的对象,否则这可能导致错误的结论。命名为 products 更好。
另外,一个词不要表示多种概念,避免命名混淆。定义场景中的概念很难,在软件开发过程中,程序员需要花费很多时间去分析某一场景,并命名场景中的各种元素。这样的工作永远都是让程序员头疼的事情。

4. 做出有意义的区分

使用数字系列进行命名不是一个命名的好方法。这样的名称是非信息性的,因为它们没有提供代码作者意图的任何提示。所以最好选择容易区分的词。

5. 使用可以发音的单词

如果不能说出代码的名字,那你很多时候都不方便讨论它。这实际上很重要,因为编程的一部分工作是社交活动,每个人都有很大的机会了解自己无法发音的变量名称。
另外,最好使用对上下文有意义的名字。代码里的名字都有自己的上下文,上下文对于理解一个代码是很重要的,因为它能提供额外的信息。

6. 使用可搜索的名称

由一个字母组成的名称,可能存在难以定位的问题。数字常量也是如此,数值常量可以用常量变量代替。搜索代码时,数字 8 可能会给你带来很多麻烦。
但是,用常量 MAX_BLOCKS_DISPLAYED 替换它会使它变得更容易。单字母名称的唯一用例是简短方法中的局部变量。

7. 命名前缀

不要使用前缀。
例如,某些开发人员习惯在所有私有成员前面加上下划线。不要这么做,你的类和方法应该足够短小,以至于不需要任何前缀。或者,你可以使用 IDE(或安装插件),该 IDE 根据变量的范围会为变量着色。
总之,作为一名程序员你应该:
起的名字有意义,可以表达一个概念;
要考虑名字的长度,名称中只有必要信息;
符合“编码规范”,有助于理解;
一个概念不要多个名字混用;
使用在背景领域和上下文中都有意义的名字。
最后,本文的灵感来自罗伯特·C·马丁(Robert C. Martin)所著的《清洁代码》(Clean Code),我强烈建议你仔细阅读这本书。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
大纲
固定大纲
1. 名字要显示真正意图
2. 使用某一领域背景中有意义的名字
3. 避免误导信息
4. 做出有意义的区分
5. 使用可以发音的单词
6. 使用可搜索的名称
7. 命名前缀
显示
设置
留言
收藏
62
沉浸
阅读
分享
手机端
快捷键
回顶部