很多同学写代码,或因技术菜、或因项目急,或因英语不好,种种原因,导致命名变量时大脑一片空白,好一点的会用些简单的单词,实在想不出来就用拼音代替。
真的,绝了。
这篇文章,就是帮助同学更好更快地命名变量。主要讲下优秀的变量命名是怎样的,以及列出命名变量时常用的单词词汇。
<aside> ⛰️ We are poets and artists. Yeah, We write poems not shit. 我们是诗人,我们是艺术家。对,我们是在作诗。 — idea小时
</aside>
通常,对变量的描述就是最佳的变量名。 —《代码大全(第二版)》
<aside> 📘 《代码大全》这本书不要看名字很土,感觉就像小学不知道名字的出版社的《作文大全》,实际上是翻译的问题,英文原版名字叫《Code Complete》,意为“代码完成“,是微软公司出的一本书,很有权威性。
</aside>
我的观点和本书作者不谋而合。 — idea小时
四舍五入 → 我也是个“大佬”,嘿嘿。😘
集合 :
可以用XXXList
、XXXMap
、XXXSet
来表示,例如menuList
、fieldList
、referenceMap
也可以用集合表示的事物的复数形式,XXXs
,XXXes
,例如:rows
、cols
、users
、details
、items
特殊状态:
开发中经常遇到需要处理的数据,比方需要进行过滤挑选的数据、选中的数据、未保存的数据、当前数据,这类变量必须在前面加上修饰词、限定词。例如:filteredDetails
、selectedRows
、unSavedRecords
、currentIndex
、totalCount
、defaultPassword
、commonTarget
、expiredKeys
标志性变量:
这类变量通常是布尔变量,只有true
和false
。表示是否可以用isXXX
,notXXX
,flag
例如:isLogin
、isLast
;表示开关可以用enable
、disable
、switchOn
、;表示成功失败,可以用succeed
、failed
、
带层级关系变量:
这种变量在处理嵌套数据的时候最常见,可以使用表示层级关系的形容词修饰。
例如:outerContainer
、nestedException
、innerPage
、wrapedData
、includedFiles
、coveredDetail
、parentObj
、enclosedArea
特定范围:
范围类的形容词包含时间、地点、位置等几大类。
时间有现在、过去、未来,例如:lastestOperation
、
地点有国内、国外、当地、远程,例如:localMachine
、remoteClient
、
位置有上下左右前后,例如:currentItem
,leftSide
,topPanel
对象属性:
对于对象的属性名,最好加上对象本身的名字,用xxxProperty表示,例如:userInfo
、objId
、tabName
、requestData
、sysOption
、tokenTime
另一种表示形式是把属性名放在对象名之前,用xxxOfXxx
,例如lengthOfSubstr
、complexcityOfPassword
、fieldsOfObj
交互型变量:
系统间交互、方法间调用都可以用下面这种形式来体现交互性。例如:responseForPos
、、tasksToExecute