项目代码风格要求
转自:http://www.cnblogs.com/JimmyZhang/archive/2013/06/05/3118936.html
1.7 类型名称和源文件名称必须一致
当类型命名为Product时,其源文件命名只能是Product.cs。
1.8 所有命名空间、类型名称使用Pascal风格(单词首字母大写)
如下图所示,红色标记的为使用Pascal风格的类型:
注意ProductType是私有类型,不管类型是公有的还是私有的,其命名总是采用Pascal风格。
1.9 本地变量、方法参数名称使用Camel风格(首字母小写,其后每个单词的首字母大写)
红色标记的为使用Camel风格的变量或者方法参数:
1.10 私有方法、受保护方法,仍使用Pascal风格命名
示例代码如下:
1.11 如果if语句内容只有一行,可以不加花括号,但是必须和if语句位于同一行
范例1.9 中的if判断实际上与下面的语句是等效的:
1.12 调用类型内部其他成员,需加this;调用父类成员,需加base
示例代码如下:
1.13 类型内部的私有和受保护字段,使用Camel风格命名,但加“_”前缀
代码示例如下:
1.14 不能出现公有字段
如果需要公有字段,使用属性进行包装。
1.15 类型成员的排列顺序
类型成员的排列顺序自上而下依次为:
字段:私有字段、受保护字段
属性:私有属性、受保护属性、公有属性
事件:私有事件、受保护事件、公有事件
构造函数:参数数量最多的构造函数,参数数量中等的构造函数,参数数量最少的构造函数
方法:重载方法的排列顺序与构造函数相同,从参数数量最多往下至参数最少。
1.16 委托和事件的命名
委托以EventHandler作为后缀命名,例如 SalesOutEventHandler。
事件以其对应的委托类型,去掉EventHandler后缀,并加上On前缀构成。
例如,对于SalesOutEventHandler委托类型的事件,其事件名称为:OnSalesOut。
示例代码如下:
1.17 返回bool类型的方法、属性的命名
如果方法返回的类型为bool类型,则其前缀为Is、Can或者 Try,例如:
1.18 常见集合类型后缀命名
凡符合下表所列的集合类型,应添加相应的后缀。
说明 | 后缀 | 示例 |
数组 | Array | int[] productArray |
列表 | List | List<Product> productList |
DataTable/HashTable | Table | HashTable productTable |
字典 | Dictionary | Dictionay<string,string> productDictionary |
EF中的DbSet /DataSet | Set | DbSet<Product> productSet |
1.19 常见后缀命名
凡符合下表所列的局部变量、方法参数、字段、属性,均需添加相应的后缀。
说明 | 后缀 | 示例 | 示例说明 |
费用相关 | Cost | ShipCost | 运输费 |
价格相关 | Price | ProductUnitPrice | 产品单价 |
消息相关 | Message(弃用Note) | SuccessMessage | 成功消息 |
日期相关 | Date(弃用Time) | OrderDate | 下单日期 |
计数、数量相关 | Count(弃用Time) | LoginCount | 登录次数 |
链接地址相关 | Url | BlogUrl | 博客链接 |
图片相关 | Image | SignImage | 签名图片 |
金额相关 | Amount | PrepaidAmount | 预付款 |
点数、积分相关 | Point | MemberPoint | 会员积分 |
记录、日志相关 | Record(弃用Log) | ErrorRecord | 错误记录 |
配置相关 | Config | DataBaseConfig | 数据库配置 |
状态相关 | Status | OrderStatus | 订单状态 |
模式、方式相关 | Mode | OpenMode | 打开方式 |
种类相关 | Category / Type 二选一 | UserCategory | 用户种类 |
工厂类相关 | Factory | ConnectionFactory | 连接工厂 |
启用相关 | Enabled | ExportEnabled | 开启导出 |
流相关 | Stream | UploadStream | 上传流 |
读取器相关 | Reader | ExcelReader | Excel读取器 |
写入器相关 | Writer | ExcelWriter | Excel写入器 |
适配器相关 | Adapter | IntroOPAdapter | IntroOP适配器 |
提供器相关 | Provider | MemebershipProvider | 会员信息提供器 |
包装器相关 | Wrapper | ProductWrapper | Product包装器 |
连接相关 | Connection | ExcelConnection | Excel连接 |
1.20 常见类型命名
凡存在下表中的类型,需采用下表指定的名称命名。
类型 | 命名 | 类型 | 命名 |
客户 | Customer | 分销商 | Reseller |
零售商 | Retailer | 经销商/批发商 | Dealer |
用户 | UserInfo(User为数据库关键字) | 订单 | OrderInfo(Order为数据库关键字) |
供应商 | Supplier | 管理员 | Admin |
密码 | Password | 会员 | Member |
评论 | Remark(弃用Comment) | 文章 | Article |
新闻 | News | 发票 | Invoice |
导入 | Import | 导出 | Export |
公司、企业 | Company(弃用Enterprise) | 产品 | Product |
省份 | Province | 城市 | City |
区县 | District | 地址 | Address |
角色 | Role(弃用Group) | 权限 | Authority(弃用Permission) |
仓库 | Warehouse | 工厂 | Plant |
登录 | Login(弃用SignIn) | 登出 | LogOut(弃用SignOut) |
创建 | Create(弃用Add) | 编辑 | Edit |
更新 | Update | 删除 | Remove(弃用Delete) |
照片 | Photo | 图片 | Image |
1.21 常见字段、属性命名
字段、属性种类比较繁杂,因此仅列出最常用的几项。
类型 | 名称 | 类型 | 名称 |
Id(int型) | Id(“d”小写,弃用ID) | GuidId(Guid型) | Id |
Name | 名称 | Title | 标题 |
Remark | 备注、描述(弃用Memo、Description) | Category | 种类(弃用Class、Type) |
Linkman | 联系人 | |
转自:
http://www.cnblogs.com/olay2008/archive/2007/11/17/962272.html
(2)避免使用不易理解的数字,用有意义的标识来替代(枚举和常量)
比如:
if(productType == 0) … else if (productType == 1) … (不推荐使用) |
if(productType == ProductType.CD) … else if (productType == ProductType.DVD) … (推荐使用) |