代码整洁之道-关于标识符
程序员文章站
2024-01-24 12:35:58
title: 代码整洁之道 关于标识符 blog: "CSDN" data: "Java学习路线及视频" 软件中随处可见命名。我们给变量、函数、参数、类和包命名。我们给源代码及源代码所在目录命名。这么多命名要做,不妨做好它。下文列出了取个好名字的几条简单规则。 名副其实,见名知意 变量名太随意,ha ......
title: 代码整洁之道-关于标识符
blog: csdn
data: java学习路线及视频
软件中随处可见命名。我们给变量、函数、参数、类和包命名。我们给源代码及源代码所在目录命名。这么多命名要做,不妨做好它。下文列出了取个好名字的几条简单规则。
-
名副其实,见名知意
- 变量名太随意,haha、list1、ok、thelist 这些都没啥意义
-
避免误导
- 包含list、import、java等类名、关键字或特殊字;
- 字母o与数字0,字母l与数字1等
- 提防使用不同之处较小的名称。比如:xyzcontrollerforefficienthandlingofstrings与xyzcontrollerforefficientstorageofstrings
-
做有意义的区分
- 反面教材,变量名:a1、a2、a3
- 避免冗余,不要出现variable、表字段中避免出现table、字符串避免出现namestring,直接name就行,知道是字符串类型
- 定义了两个类:customer类和customerobject类,如何区分?
- 定义了三个方法:getactiveaccount()、getactiveaccounts()、getactiveaccountinfo(),如何区分?
-
使用读得出来的名称
- 不要使用自己拼凑出来的单词,比如:xsxm(学生姓名);genymdhms(生成日期,年、月、日、时、分、秒)所谓的驼峰命名法,尽量使用完整的单词
-
使用可搜索的名称
- 一些常量,最好不直接使用数字,而指定一个变量名,这个变量名可以便于搜索到.
- 比如:找max_classes_per_student很容易,但想找数字7就麻烦了。
-
避免使用编码
- 即变量名表明该变量数据类型的小写字母开始。例如,szcmdline的前缀sz表示“以零结束的字符串”。
- 避免使用前缀,但是android中一个比较好的喜欢用m表示私有等,个人感觉比较好
- 不喜欢把接口使用i来开头,实现也希望只是在后面添加imp
-
避免思维映射
- 比如传统上惯用单字母名称做循环计数器。所以就不要给一些非计数器的变量命名为:i、j、k等
-
类名
- 类名与对象名应该是名词与名词短语。如customer、wikipage、account和addressparser。避免使用data或info这样的类名。不能使动词。比如:manage、process
-
方法名
- 方法名应当是动词或者动词短语。如postpayment、deletepage或save
-
别扮可爱
- 有的变量名叫haha、banan 别用eatmyshorts()表示abort()
-
每个概念对应一个词
- 项目中同时出现controllers与managers,为什么不统一使用其中一种?对于那些会用到你代码的程序员,一以贯之的命名法简直就是天降福音。
-
别用双关语
- 有时可能使用add并不合适,比例insert、append。add表示完整的新添加的含义。
-
使用解决方案领域名称
- 看代码的都是程序员,所以尽量用那些计算机科学术语、算法名、模式名、数学术语,依据问题所涉领域来命名不算是聪明的做法。
-
使用源自所涉问题领域的名称
- 如果不能用程序员熟悉的术语来给手头的工作命名,就采用从所涉问题领域而来的名称 至少,负责维护代码的程序员就能去请教领域专家了。
-
添加有意义的语境
- 可以把相关的变量放到一个类中,使用这个类来表明语境。
-
不要添加没用的语境
- 名字中带有项目的缩写,这样完全没有必要。比如有一个名为“加油站豪华版”(gas station deluxe)的项目,在其中给每个类添加gsd前缀就不是什么好策略。
-
最后的话
- 取好名字最难的地方在于需要良好的描述技巧和共有文化背景。
结语
2020-3-25: 浅谈java语言环境搭建-jdk8
2020-3-25: 2000字读懂java的来源
-
今日好文推荐
-
今日资料推荐