DAL开发杂记 - 复数变量命名约定
昨天写了一个方法,然后用JUnit进行单元测试,愣是通不过去。检查了半天,发现是我误解了自己一个月以前取的一个变量名了。很郁闷,一个不友好的变量名浪费了那么多时间。
为此,我觉得有必要约定一下Java程序代码里变量的命名(其它语言同样适用,无非是大小写、下划线方面的区别),以免再发生类似的错误。对于语法级的命名约定(规范)可以看Java命名约定(规范),这里要说语义级的命名约定(规范),而且只涉及复数的情况。
以下是复数变量的命名模板(含推理过程):
一个学生的多本图书 a student’s books -> studentBooks
很多学生共有的多本图书 students’ books -> studentsBooks // 强调共同财产
每个学生的多本图书的集合 the list of each student’s books ->studentBooksList // 强调私有财产
学生图书的集合 student-book’s list ->studentBookList // 强调书的集合
套用该模板的几个示例:
primaryKeyColumnNames: List< String> [a, b]
trueUniqueKeyColumnNamesList: List< List< String>> [[c], [d]]
trueUniqueKeyColumnNameList: List< String> [c, d]
trueUniqueKeyColumnNames: List< String> [c]uniqueKeyColumnNamesList: List< List< String>> [[a, b], [c], [d]]
uniqueKeyColumnNameList: List< String> [a, b, c, d]
uniqueKeyColumnNames: List< String> [a, b]specColumnNameList: List< String> [a, b, c, d, f] f为scatter column name
columnNames: List< String> [a, b, c, d, f, g, e, h]
注:<后加了个空格,免得浏览器把它当作HTML标签的开始。
复数的位置还是很微妙的.
Comment by daqing — May 4, 2009 @ 10:12 am