不能提供更多额外信息的词汇不要用。 比如一个 Product 类,还有一个 ProductInfo 和 ProductData,其中 Info 和 data 并不能提供更多的信息。Info和 data 就像是 a\an\the 这种词都是冗余。
避免误导,就是程序名和变量名要名符其实。比如 OrderList 就应该是一个 list,而不应该是一个对象。函数的名称要和函数所做的动作一致。假如发现无法有很好的函数名称形容这个函数,那说明这个函数做的事情太多了,需要进行拆分。
名称宁愿长点,也不要缩写成别人无法理解的单词。
不要前缀! 因为代码读的越多,眼中就慢慢会自动忽略前缀。
类名和对象名应该是名词或者名词短语。例如:Customer、WikiPage、AddressParser。类名不应该是动词。避免:Manager,Processor 这种类名,因为他是比较笼统的概念。
方法名应该是动词或者动词短语。如 PostPayment, Delete 。初始化一个类时
Complex fulcrumPoint = new Complex(20, 30)
//这种方式会更好
Complex fulcrumPoint = Complex.FromRealNumber(20,30)
可以考虑将对应的构造器设为 priate,强制使用各种方式
每个概念对应一个单词。给每个抽象出来的对象或者操作规定一个名称。比如fetch、retrieve、get他们都是获取的意思时,要给出对应的场景单词。注意区分insert、append并替代add使用。尽可能使用email代替emailAddress,因为后者几乎没有提供比前者更多的信息。
对于词义比较广泛的,需要进行限制,比如 get、add、manage 等。
get
是获取对象属性fetch
从远程获取数据load
从文件或者存储中获取数据query
从数据库里获取数据calculate
计算出来的数值find
从数组中查找数据create
、 parse
、 build
从数据生成数据常用单词:
add/remove increment/decrement open/close
begin/end insert/delete show/hide
create/destory lock/unlock source/target
first/last min/max start/stop
get/put next/previous up/down
get/set old/new
新增: add, new, create, make, build, generate
更新: update, set, transform,
获得:get, load, fetch, calculate, find, search, filter, query
删除:remove, delete, clear,
接口:Ajax
很少有名称是可以自我说明的,比如 name, 所以需要有上下文环境,上下文环境可以是名称前缀,当然抽象成类更好。