命名时使用跟业务领域相关的词
程序员写的所有代码都是跟业务领域场景逻辑相连的。为了让所有关系到这个问题的人都能更好的理解,程序中应该使用在领域环境中有意义的名称。
不好的代码:
{
Entity o1;
Entity o2;
}
当在编写针对某个领域的代码时,你应该始终考虑使用领域有联系的名称。在将来,当另外一个人(不仅是程序员,也许是测试人员)接触你的代码时,他能轻松的理解这个业务领域里你的代码是什么意思(不需要业务逻辑知识)。你首先考虑的应该是业务问题,之后才是如何解决。
清楚的代码:
{
Entity product;
Entity category;
}
命名时使用在特定环境里有意义的词
代码里名称都有自己的上下文。上下文对于理解一个名称非常重要,因为它能提供额外的信息。让我们来看看一个典型的“地址”上下文:
不好的代码:
string addressHomeNumber;
string addressPostCode;
在大多数情况中,“Post Code”通常是地址的一部分,很显然,邮政编码不能单独使用(除非你是在开发一个专门处理邮编的应用)。所以,没有必要在“PostCode”的前面加上“address”。更重要的,所以的这些信息都有一个上下文容环境,一个命名空间,一个类。
在面向对象编程中,这里应该用一个“Address”类来表达这个地址信息。
清楚的代码:
{
string city;
string homeNumber;
string postCode;
}
命名方法总结
概述起来,做为一个程序员,你应该:
• 命名是来表达概念的;
• 注意名称长度,名称里只该含有必要的词语;
• 编码规范有助于理解代码,你应该使用它;
• 名称不要混用;
• 名称在业务领域里要有意义,在上下文里有意义。
本文转自:外刊IT评论
译文链接:http://www.aqee.net/express-names-in-code-bad-vs-clean/
原文链接:http://blog.goyello.com/2013/05/17/express-names-in-code-bad-vs-clean/
本文转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。