程序命名的一些提示

Published at 6 months ago

选择一个正确的名字是编程中最重要的事。以前酷壳向大家推荐过两篇文章《编程命名中的7+1个提示》 和《编程中的命名设计那点事》,今天再向大家推荐一篇。一个正确的命名可以让你更容易地理解代码的程序,好的命名可以消除二义性,消除误解,并且说明真实的意图,甚至可以让你有清新的气息以让你更能吸引异性。;-)

方法,类和变量

正确的名字可以让你的程序顾名思义,下面是一些提示:

Frameworks 和 Libraries

你的用户是一个程序员,他需要使用你的代码进行二次开发。 Namespaces 将会是你重点需要注意的东西。
  • 使用namespaces 而不是类的前缀
    希望你的编程序语言支持namespace,这样,你就可以使用它而不是在类名前面加前缀了。如果你所使用的语言不支持namespace,那么你应该上网看看其它程序员使用什么样的方式来区分自己的代码和别人的代码名字空间。
  • 使用普通的namespace而不是使用公司名
    使用公司名做namespace并不是一个好的相法,因为公司名很容易变更,比如,公司因为被收购,被控告,合并,重组等原因需要更名。产品的名字同样也会改变。所以,使用一个普通的namespaces会好一些。如STL,ACE等。

数据库

Database Schemas 意为数据模型,所以,其名字应该和其领域是合乎逻辑的,而不是为了编程的方便。

其它

  • 对于“物理上”的东西,命名其是什么,而不是做什么
    比如某些物理上的名字,姓名,性别,文件路径,网络链接,文件描述符,下标索引,类的属性,这些都是物理上的东西,所以,其名字应该是标识其是什么,而不是用来做什么。
  • 对于“逻辑上”的东西,命名其做什么,而不是是什么
    比如某些逻辑上的名字,函数名,数据结构,等。
  • 避免”Category” 问题
    千万别使用”Category” 作为你的属性名,因为,你会马上发现,这并不靠谱,因为这就等于什么没有说。与此相类似的还有”type” ,”kind” ,”variant” ,”classification” ,”subcategory” 等,对于这些名字,没人知道其是什么东西。而应该使用更为明确的分类,如: “FuelEfficiencyGrade”, “PackagingType”, “AgeGroup”, “Flamability”, “AllergenLevel”, 等等。

#Program

@http://coolshell.cn/?p=1990