变量的命名规则有什么比较规范且美观的吗?

2020-12-26 18:00:50 +08:00
 wszgrcy

最近在纠结这么一个问题,如果一个变量是数组,那么应该命名为 xxxArray,xxxList,xxxs 还是什么其他的,感觉好像从叫法上都说得通,但是不知道有没有什么具体的说道比如某种命名规范?

还有文件夹命名,那种比较通用的方法,应该起一个什么文件夹名,core,common,util,helper....以及文件夹名应不应该加 s......

5319 次点击
所在节点    程序员
36 条回复
Cbdy
2020-12-27 06:50:17 +08:00
参考当前语言的标准库的写法,比如 Java 的 JDK 、C 的 C 标准库
lishen226
2020-12-27 09:57:25 +08:00
建议不要用 s,太不起眼了,很容易遗漏,母语是英语的不会有这个问题,咱们还是别找麻烦了。
经过大量实践,xxxList 是没什么问题的。文件夹的命名可以参考 smart-admin 的规范,我感觉很合理。
https://gitee.com/lab1024/smart-admin/blob/master/%E4%BB%A3%E7%A0%81%E8%A7%84%E8%8C%83/java-standard-guide.md
skys215
2020-12-27 10:44:54 +08:00
我之前还想做起变量名的词典呢
把用户积分写成 integral 也太离谱了,这可是微积分的积分啊
DOLLOR
2020-12-27 12:12:59 +08:00
-s 还要考虑不规则变形的情况,所以应该用 list 。
youla
2020-12-27 14:06:28 +08:00
@raaaaaar 表示这是我改的!!看我厉害吧……其实就是方便自己查找,因为命名太随意了,经常找不到自己改的东西,所以就自己加名字进去,每次搜自己名字就找到了。🙃一般是方法名和文件名。
Sapp
2020-12-27 15:58:53 +08:00
起一个让你组员都能跟你一起做到的,如果搞得太严格,很多人根本不这么做,那么结果毫无意义,这个东西没有一定的,主要还是一起合作的人一起确定一个就行。另外很多时候反倒不要死抠规范,比如有很多单词其实你搞个英文的别人也很难看懂,比如我之前做过一个金融的,变量我翻译一遍还是看不懂什么意思,这种冷门的每个人的翻译不一样,结果就差很多,又没有注释,只能靠着猜,那么你用个拼音+注释反倒更可读,重点还是在让人看得懂,如果实在不确定看不看得懂一定加注释,不然自己翻译个乱七八糟,甚至根本不准的英文,又没有注释,这才是最坑的。
Cr1ck
2020-12-27 16:25:46 +08:00
个人风格
方法形参 f_xxx
局部变量 tmpXxx
数组 xxxs
集合 xxxList
键值对 xxxDic ( C#)
可能为空的 tmpOptionalXxxx
caiji11
2020-12-27 17:21:12 +08:00
@youla 优秀
wzzzx
2020-12-27 17:29:32 +08:00
@youla #25 你这个加自己名字是真的牛逼
wzzzx
2020-12-27 17:30:10 +08:00
具体也不好说,但是呢,我觉得单复数确实没必要考虑。规则最重要的就是简单
Takamine
2020-12-27 17:36:42 +08:00
从《代码整洁之道》里得到的建议就是现在不需要用什么匈牙利命名法,也不用一定强调后面固定加什么后缀。
关键在于整个风格的统一和易读。即从当时这个变量集合在你的模块内抽象出来所代表的功能是什么来看,给他一个简洁直观的表述。
ruyu
2020-12-27 17:44:47 +08:00
脸滚键盘即可.
zeroxia
2020-12-27 22:51:53 +08:00
没有完美的命名规则。最重要的是一致的命名规则。
如果自己定不下来,可以参考:
1 、现有代码库,比如 github 上找几个成熟的代码库。
2 、大公司的编码规范,Google 、微软等。
jzmws
2020-12-27 23:01:26 +08:00
代码规范还是要有的, 后期维护才方便
nano91
2020-12-28 09:02:27 +08:00
只要能跑,我就永远用下划线做分割
no1xsyzy
2020-12-28 09:35:52 +08:00
能看懂就成
xxx_list lstXxx lxxx xxxl
只要不影响眼 parse,单加个 l 都成。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/739226

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX