选择遵循规则和约定的变量名称
一位软件开发人员曾经说过一句名言:“软件开发最难的部分就是命名。”变量的名称不仅必须遵循某些语法规则,还应使代码更易于用户阅读和理解。 编写一行代码的要求非常多!
变量名称规则
C# 编译器强制执行一些变量名称规则。
- 变量名可包含字母数字字符和下划线字符。 不允许使用特殊字符(如英镑
#
、短划线-
、 或美元符号$
)。 - 变量名称必须以字母或下划线开头,不能以数字开头。 开发者将下划线用于特殊目的,因此现在请勿使用。
- 变量名不能是 C# 关键字。 例如,不允许使用以下变量名称声明:
float float;
或string string;
。 - 变量名称区分大小写,这意味着
string MyValue;
和string myValue;
是两个不同的变量。
变量名称约定
约定是软件开发社区一致同意的建议。 虽然你可以自由决定不遵循这些约定,但是它们非常受欢迎,如果不遵循可能会使其他开发者很难理解你的代码。 你应该练习采用这些约定,并让它们成为编码习惯。
- 变量名称应使用驼峰式大小写形式,这是一种编写样式,即第一个单词以小写字母开始,后续每个单词的首字母采用大写形式。 例如:
string thisIsCamelCase;
。 - 变量名称在应用程序中应具有描述性且有意义。 你应该为变量选择一个名称,用于表示其将保存的数据种类(而不是数据类型)。 例如
bool orderComplete;
,而不是bool isComplete;
。 - 变量名称应是附加在一起的一个或多个完整单词。 请勿使用缩写,因为阅读你代码的人可能不清楚该变量的名称。 例如
decimal orderAmount;
,而不是decimal odrAmt;
。 - 变量名称不应包含变量的数据类型。 你可能会看到使用类似
string strMyValue;
样式的一些建议。 这是几年前的热门样式。 但是,大多数开发人员不再遵循此建议,并且有充分的理由不使用它。
示例 string firstName;
遵循所有这些规则和约定,假设我希望使用此变量来存储表示用户名字的数据。
变量名称示例
下面是变量声明的几个示例(使用常见数据类型):
char userOption;
int gameScore;
float particlesPerMillion;
bool processedCustomer;
其他命名约定
上述规则和约定适用于局部变量。 局部变量是作用域在方法主体内的变量,或者是控制台应用程序中使用顶层语句(如此模块中的代码)的变量。
可以在应用程序中使用其他类型的构造,并且许多构造都有自己的约定。 例如,类通常用于 C# 编程,并且具有关联的约定。 尽管你不会在此模块中创建类,但重要的是要知道,你刚刚了解的命名约定适合更大的命名框架。