无废话简单高效C#编码规范20100612
自己看自己的代码啥问题也没有,但是一个团队、N多个人、N多年的代码,就比较难维护、难阅读了,什么样的不好的习惯、错误漏洞能出来的就全出来了。
第1章 程序细节参考
※ 错误参考
messageReceiver.IsShow = Convert.ToInt32(dataRow["Is_Show"]) == 1 ? true : false;
1.1 规范定义
建议不要写多余的没多大必要的 true : false。
正确代码参考
messageReceiver.IsShow = Convert.ToInt32(dataRow["Is_Show"]) == 1;
※ 错误参考
MessageAttachment result = null;
result = PackAttachment(table.Rows[0]);
return result;
1.2规范定义
没必要的中间过度变量建议尽量就避免了。
正确代码参考
return PackAttachment(table.Rows[0]);
※ 错误参考
DataSet GetApothecaryUnOnDateList( string code,string begin,string end);
1.3规范定义
变量与变量之间要有空格隔开,该有空格时有空格,不该有的空格删除掉,不要紧紧挨在一起。
1.4规范定义
尽量从变量的名字、变量的类型中可以知道变量的详细限制,例如 begin 写为 beginDate。
正确代码参考
DataSet GetApothecaryUnOnDateList(string code, string beginDate, string endDate);
※ 错误参考
/// <summary>
/// packE
/// </summary>
public string packE
{
get { return _packE; }
set { _packE = value; }
}
1.5规范定义
属性要写注释,否则谁知道这个是什么呀?。
1.6规范定义
属性要大写字母开头,很少见微软的程序,属性小写开头,该大写的不大写,改小写的不小写。
1.7规范定义
若没必要,尽量不要用_。
正确代码参考
/// <summary>
/// 包装名(英文名)
/// </summary>
public string PackE
{
get { return packE; }
set { packE = value; }
}
※ 错误参考
/// <summary>
/// 国家库进口药品信息实体
/// </summary>
[Serializable]
public class MediImportInfo
1.8规范定义
实体类,尽量用*Entity 这个类名,这样大家很容易知道,这个是实体类?控制类?。
正确代码参考
/// <summary>
/// 国家库进口药品信息实体
/// </summary>
[Serializable]
public class MediImportInfoEntity
About
吉日嘎拉(蒙古语为吉祥如意),2000年毕业于黑龙江大学计算机系软件专业,目前定居杭州,典型的IT软件土鳖一个,外号“软件包工头”。
通用权限管理系统组件(GPM - General Permissions Manager)自2003年开始发布,目前是国内注册用户和免费盗版用户最多的权限管理系统,是各种信息管理系统开发中彻底的权限解决方案。本组件支持多种主流数据库(Oracle、sqlsever、db2、mysql),功能强大,使用方便,代码简洁,思路严谨,被广大支持者称为权限管理系统中的“走火入魔级权限管理系统”。
精心维护通用权限管理系统组件(GPM - General Permissions Manager)有8年多,3年的不断推广,20万行经典的业务逻辑积累,经过上万次的调试修正,经历了四百个付费客户,上百软件公司的实战开发。
11年以上开发经验,外企工作5年,上市公司3年,独立经营软件公司2年,主持研发部门管理工作4年以上。
将权限管理、工作流做到我能力的极致,一个人只能做好那么很少的几件事情。
QQ:252056973,Mail:jirigala_bao@hotmail.com 访问者分布通用权限管理模块的严谨设计定位、精心编码实现、不断维护推广、持续优化改进,主要是为了实现一个可以高度重复利用劳动成果的工具软件并×××给所需的人们,另想成为国人值得骄傲的知名软件功能模块。
可供国内管理类开发人员在日常工作中进行灵活二次开发利用的模块,开发管理类软件的必备工具之一,我们的目标就是让程序员早点儿回家休息。
淘宝店地址: