技术开发 频道

软件开发误区:代码命名规则的是与非

  命名时使用跟业务领域相关的词

  程序员写的所有代码都是跟业务领域场景逻辑相连的。为了让所有关系到这个问题的人都能更好的理解,程序中应该使用在领域环境中有意义的名称。

  不好的代码:

public class EntitiesRelation
{
Entity o1;
Entity o2;
}

  当在编写针对某个领域的代码时,你应该始终考虑使用领域有联系的名称。在将来,当另外一个人(不仅是程序员,也许是测试人员)接触你的代码时,他能轻松的理解这个业务领域里你的代码是什么意思(不需要业务逻辑知识)。你首先考虑的应该是业务问题,之后才是如何解决。

  清楚的代码:

public class ProductWithCategory
{
Entity product;
Entity category;
}

  命名时使用在特定环境里有意义的词

  代码里名称都有自己的上下文。上下文对于理解一个名称非常重要,因为它能提供额外的信息。让我们来看看一个典型的“地址”上下文:

  不好的代码:

string addressCity;
string addressHomeNumber;
string addressPostCode;

  在大多数情况中,“Post Code”通常是地址的一部分,很显然,邮政编码不能单独使用(除非你是在开发一个专门处理邮编的应用)。所以,没有必要在“PostCode”的前面加上“address”。更重要的,所以的这些信息都有一个上下文容环境,一个命名空间,一个类。

  在面向对象编程中,这里应该用一个“Address”类来表达这个地址信息。

  清楚的代码:

class 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/

  本文转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

0
相关文章