我们在dotnet开发里中文变量及方法的命名规则
我们在dotnet开发里中文变量及方法的命名规则
目前,我们在项目中使用中文变量,从3年前的权限管理,
到一年前的购物车管理,发展到了在类库(会员积分奖金规则)中使用。
体会到了中文变量对于项目维护的巨大方便。
现在,我们在枚举中基本使用中文。他的意义以及对我们的好处,
在上篇博文中有说明,请参考
http://www.cnblogs.com/DotLee/archive/2009/08/19/1549750.html
。
前提:开发团队以中文为主,开发文档以中文为主,
系统的业务维护以中文为主,开发环境以中文为主。
部署环境无关紧要,如果部署环境是非中文的,
要提前在部署环境中测试。 建议,最好开发与部署环境相同。
以便于提高项目的工作效率。
变量的命名规则:
如: private float c1_购物车_非换购商品总额 = 0;
形式:(英文或拼音)字母前缀+数字+下划线+字母前缀的中文名称+下划线+变量的名称;
(英文cart) c 1 _ 购物车 _ 非换购商品总额
这里: 1表示类中的成员变量, 建议字母前缀用小写
2表示类中的方法, 建议字母前缀用大写
3表示方法中的局部变量; 建议字母前缀用小写
枚举类型的没有数字
如: private void C2_购物车()
{...}
private void C2_购物车()
{
string c3_购物车编号 = WebUtils.GetShoppingCartId();
}
public enum OrderStateEnum
{
os_订单状态_待处理订单=1,
os_订单状态_已付款订单 = 2,
os_订单状态_已收款订单 = 3,
os_订单状态_已发货订单 = 4,
os_订单状态_已收货订单 = 5,
os_订单状态_已完成订单 = 6
}
public bool PB2_积分奖金_加入积分奖金池(int orderid)
{
...
bool pb3_积分奖金_加入积分奖金池是否成功 = true;
...
pb3_积分奖金_订单明细.UO_state = (int)b2cCityBLL.OrderStateEnum.os_订单状态_已完成订单;
new b2cCityBLL.OrderBLL().UpdateOrder(pb1_积分奖金_订单明细 );
...
return pb3_积分奖金_加入积分奖金池是否成功;
}
这里 pb表示PointsBonus积分奖金,我们对前缀的使用绝大多数使用英文。
前缀的字符数一般不超过3个。 因为他们分布在不同的命名空间里,所以不会重复。
而且,他们的规则以简单适用为最佳,来满足我们的90%的网站项目。其他的10%,
一般而言,不是我们的主要所在。
我们的70%的精力,是用在以后项目的维护上,而不是开发上。也就是以维护项目为主(70%),
开发新项目为辅(30%),这样,我们的项目功能模块的复用率很高,相应的开发效率也就提高了。
这样,通过前缀可以得到ide的智能提示功能,并且相关的变量会排序在一起;
中文的名称要与业务员进行沟通,取得一致意见。
缺点,主要是中文的输入还存在一定的问题,但对于整个项目的好处来说,可以忽略。
这是我们3年多开发项目中使用中文变量的经验体会。证明他适用于我们,
所以我们在这些经验的基础之上,把对中文变量的使用,逐步的扩大范围。
我们的开发流程,主要以msf为主,这对于我们来说,也是我们目前的最佳的实践吧。
浙公网安备 33010602011771号