关于C#代码的局部变量命名

作者曾编写Kingdee公司的《C#编码规范》,现讨论C#局部变量命名。强调变量命名要直观易懂,尽量不缩写,必要时与类型相关,使用缩写最好用通用的。还给出多个命名示例,并表示会陆续写代码风格文章,欢迎交流。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以前Kingdee的下一代产品是基于.NET平台使用C#,我当时参考了一些文档,编写了Kingdee公司中的《C#编码规范》。整个规范比较冗长,我也不打算详细说明。现在我和大家讨论一下关于局部变量的命名。

变量命名必须直观易懂,尽量不使用缩写,必要时与类型相关。在阅读别人代码时,如发现一个好的变量命名,你应该记下来,这是一个很好的经验积累。尽量不要使用缩写,使用缩写时,最好使用通用的缩写。

以下是一个示例,欢迎大家讨论。同时也把自己的一些好的命名共享出来!

None.gif//Array后缀的数组变量
None.gif
Object[] objArray = ...;
None.gif
None.gif
//使用类型的缩写
None.gif
DataTable dataTable = ...;
None.gif
None.gif
//变量的声明,类型尽量使用接口,这样对于修改实现容易
None.gif
IList list = new ArrayList();
None.gif
None.gif
//flag是一个常用的变量
None.gif
bool flag = false;
None.gif
None.gif
//item也是一个常用的命名
None.gif
foreach (Object item in list) 
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif    
if (flag) 
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        Console.Write(
",");
ExpandedSubBlockEnd.gif    }

InBlock.gif
InBlock.gif    flag 
= true;  //flag之前有一个空行,代码中应有恰当的分行
ExpandedBlockEnd.gif
}

None.gif
None.gif
//使用符合短语对变量命名
None.gif
String typeName = obj.GetType().GetName();
None.gif
None.gif
//优化for循环时的临时变量名
None.gif
int listCount = list.Count;
ExpandedBlockStart.gifContractedBlock.gif
for (int i = 0; i < listCount; ++i) dot.gif{}

我会陆续写一些关于代码风格的文章,也欢迎大家与我讨论。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值