分享
 
 
 

.Net项目代码风格规范

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: |||超大  

最近没啥时间自己状态也不是很好,公司的事情忙,自己也有一些事情要处理,所以好久没有写博客了。利用公司午休时间写一写,以下是参考了一些资料,整理出来,共勉之。

代码风格没有正确与否,重要的是整齐划一,清晰易读。

1. C# 代码风格要求1.1注释类型、属性、事件、方法、方法参数,根据需要添加注释。

如果类型、属性、事件、方法、方法参数的名称已经是自解释了,不需要加注释;否则需要添加注释。

当添加注释时,添加方式如下图所示:

1.2 类型(类、结构、委托、接口)、字段、属性、方法、事件的命名优先考虑英文,如果英文没有合适的单词描述,可以使用拼音,使用中文是不符合要求的。

唯一可以使用中文的地方是枚举的枚举项,枚举项实际已经不属于本节标题的范畴了。这里只是放到一起说明,如下图所示:

1.3 不使用缩写所有类型、方法、参数、变量的命名不得使用缩写,包括大家熟知的缩写,例如msg。

1.4 代码使用半展开第一步,打开Visual Studio,进入“工具”,“选项...”,如下图所示:

第二步,进入“文本编辑器”,“C#”,“格式设置”,“新行”,取消掉右侧所有复选框中的对号,如下图所示:

第三步,点击“确定”,完成设置。

1.5 使用Tab作为缩进,并设置缩进大小为4第一步,打开Visual Studio,进入“工具”,“选项...”,如下图所示:

第二步,进入“文本编辑器”,“C#”,“制表符”,如下图所示,设置制表符。

第三步,点击“确定”,完成设置。

1.6 一个.cs源文件至多定义两个类型如果两个类型的关系是紧密相关的,比如 产品、产品类型,此时PRoduct类,和ProductType枚举可以定义在同一个Product.cs文件中。

但不能在一个.cs文件中出现两个不相关的类型定义,例如将 Product类和Reseller类(分销商)定义在一个BasicInfo.cs文件中。

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

联系人

2. XHTML 代码风格要求2.1 如果XHTML标记有层次,那么代码也要有层次下面是书写符合要求的例子:

下面是书写 不符合要求 的例子:

2.2 所有标记必须闭合示例代码如下:

2.3 如果标记中间代码超过20行,则应在标记末尾加注标识标注方式如下:

3.CSS代码风格要求3.1 代码使用半展开设置方法参考1.4节。

3.2 使用Tab作为缩进,并设置缩进大小为4设置方法参考1.5节。

3.3 代码注释注释主要说明该样式应用于页面的哪个部分,而非说明样式的应用效果,代码注释风格如下所示:

3.4 代码编写每一个样式设置必须独占一行,不能位于同一行,下面是符合要求的写法:

下面是 不符合要求 的写法:

3.5 嵌入式样式的比例不超过样式表代码总量的10%嵌入式样式为直接写在HTML标记内部的样式,如下图所示:

3.6 内联式样式的比例不超过样式表代码总量的30%内联式样式为写在<head></head>中的样式,如下图所示:

内联式样式,不能 写在<body></body>之间。

3.7 外联式样式表的比例不少于样式表代码总量的60%外联式样式表为写在.css文件中的样式,通过link引入到XHTML页面中,如下图所示:

4.javaScript 代码风格要求4.1 代码使用半展开设置方法参考1.4节。

4.2 使用Tab作为缩进,并设置缩进大小为4设置方法参考1.5节。

4.3 代码注释代码注释需要说明“函数功能”、“入口参数”、“返回值”,注释范例如下:

其中第一行说明函数功能;第二行说明入口参数;最后一行说明返回值

4.4 不得出现内嵌式代码内嵌式代码是指写在XHTML标记中的Javascript代码,下面的写法是 不符合要求 的:

4.5 内联式代码占JavaScript的总量不得超过40%内联式代码是指写在<head />或者<body />之间的代码:

4.6 外联式代码占JavaScript的总量至少为60%外联式代码指写在单独的.js文件中,然后通过script标记连接到XHTML页面中的代码。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有