命名的重要性

无论技术水平怎么样、编程思想有没有,即使写个helloworld也要先把名字想好,这是对自己、队友以及后来人的尊重,也是一个程序员最基本的道德之一。

如果你的英文实在不行,字典都不会查,用中文也可以,但至少要保证别人能看明白,名字都不好好写的混子,应该尽早滚出IT界

当你遇到一片a1,a2,特别是拼音首字母组合出来的变量名时,你应该知道这个项目和这个团队你是救不了的,

  • 不要简单看字面翻译(如我们常用的法人,实际是需要法人代表而不是法人)
  • 一个单词时 关键词保留词(如class,select)不要用
  • 一个单词能表示的不要用多个单词,除非是一个单词容易混淆需要其他单词辅助说明的
  • 不要用拼音特别是首字母(除非是专用术语如GB代表国标)
  • 专用术语简写、行业约定简写(如usr代表user,co代表成本,hr代表人力资源)
  • 有简写的尽量不用全称latitude>lat
  • 尽量参考常用语言/插件/开源库(方法名、参数名、类名)(但首选符合以上规则的)
  • 要用原型,不要用复数、过去式等
  • URL以及参数中不要大小混用,尽量只用小写缩写可以中划线或下划线分隔,自己人会复制文档,不需要看字面意思,所以不要太长不需要写的那么明白,getOrderByUserId,怕敌人不知道你是根据USER_ID查询ORDER表
  • 别外注意有些团队特别是对外,经常用word写文档,不要让word自动把首字母大写。


尽量用前缀方便排序和对齐,但不要刻意把不相干的的属性排到一块
如审核开始时间和审核结束时间需要成对出现的可以用相同的前缀
APPROVE_TIME_FR
APPROVE_TIME_TO
但是审核时间,创建时间这两种不相干的时间,不需要用相同的前缀排到一块
TIME_APPROVE
TIME_CREATE


列名为什么要用下划线,不要用驼峰
1.遇到约定简写会产生歧义如userId,userID都合理
2.有些数据库会强制转成大写或小写就变成了userid或USERID
更不能用中划线
中划线容易与减号混淆,sql解析器的可能解析失败