.Net 项目代码风格要求小结

PDF版下载:项目代码风格要求V1.0.pdf

代码风格没有正确与否,重要的是整齐划一,这是我拟的一份《.Net 项目代码风格要求》,供大家参考。

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页面中的代码。

感谢阅读,希望这篇文章能给你带来帮助!

(0)

相关推荐

  • .Net 项目代码风格要求小结

    PDF版下载:项目代码风格要求V1.0.pdf 代码风格没有正确与否,重要的是整齐划一,这是我拟的一份<.Net 项目代码风格要求>,供大家参考. 1. C# 代码风格要求1.1注释 类型.属性.事件.方法.方法参数,根据需要添加注释. 如果类型.属性.事件.方法.方法参数的名称已经是自解释了,不需要加注释:否则需要添加注释. 当添加注释时,添加方式如下图所示: 1.2 类型(类.结构.委托.接口).字段.属性.方法.事件的命名 优先考虑英文,如果英文没有合适的单词描述,可以使用拼音,使用中文

  • 实例详解Vue项目使用eslint + prettier规范代码风格

    团队开发的项目,如果没有对代码风格作要求,有多少团队成员,就当然会出现多少种不同的代码风格.因此,我们需要一种能够统一团队代码风格的工具,作为强制性的规范,统一整个项目的代码风格. 幸好,我们有 eslint 和 prettier . eslint VS prettier 应该大多数项目都已经采用eslint来对代码进行质量检查,可能少部分还会采用其进行一定程度上的统一风格.那为什么还需要prettier呢?我们先来对它们作一个简单的了解. 各种linters 总体来说,linters有两种能力

  • 当前流行的JavaScript代码风格指南

    JavaScript 没有一个权威的编码风格指南,取而代之的是一些流行的编码风格: 复制代码 代码如下: Google的JavaScript风格指南(以下简称Google) http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml NPM编码风格(以下简称NPM) https://npmjs.org/doc/coding-style.html Felix的Node.js风格指南(以下简称Node.js) http:

  • 如何使用 Pylint 来规范 Python 代码风格(来自IBM)

    Pylint 是什么 Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP 8,具体信息,请参阅参考资料)和有潜在问题的代码.目前 Pylint 的最新版本是 pylint-0.18.1. Pylint 是一个 Python 工具,除了平常代码分析工具的作用之外,它提供了更多的功能:如检查一行代码的长度,变量名是否符合命名标准,一个声明过的接口是否被真正实现等等. Pylint 的一个很大的好处是

  • 配置eslint规范项目代码风格

    为什么要使用eslint 你在接手一个项目的维护迭代任务,阅读代码的时候是否会因为项目中充斥着各种风格的代码而感到头疼?没错,eslint就是为了解决这类问题 eslint能做什么? 1.代码风格错误提示 配置好eslint后,如果代码风格与配置描述的不符,eslint会提示代码中存在的风格问题:一般提示的情形有: 1.编辑器内,大多数编辑器配置好后能读取eslint配置文件并在文件中进行相应提示 2.eslint-loader配合webpack-dev-server能在页面中弹出相应错误内容

  • 快速设置IDEA代码风格为Google风格

    1.Bing中搜索 google style github 2.进到项目 找到名为intellij-java-google-style.xml 文件 3.Raw 4.反键将页面存储为------存储 5.打开IDEA进入setting 6.打开Editor->code style->java 设置 7.找到刚刚下载的xml文件 open 8.选择GoogleStyle->Apply->Ok 到此这篇关于快速设置IDEA代码风格为Google风格的文章就介绍到这了,更多相关idea

  • Python代码风格与编程习惯重要吗?

    Python代码风格 首先我们要以 PEP8 代码规范为标准,但也无需完全遵守.例如:一行不能超过 79 个字符等. Python模块模板 模块开头指定编码格式 模块文档注释,展示模块的信息,信息内容自己决定,如: Author,作者 Desc,模块描述 Date,创建时间 有一个 main() 函数 有一个程序主入口 if __name__ == '__main__': #!/usr/bin/python3 # -*- coding:utf-8 -*- # @Author: Hui # @De

  • 百万行WPF项目代码重构记录分析

    目录 一 产品型号太多产生非常多重复性工作 二 配置零散,没有统一的管理机制,不利于打包 三 UI和业务逻辑混杂 四 开发人员的层次不一 五 处理大量的图片 内存和CPU占用过大 此前带领小组成员主导过一个百万行代码上位机项目的重构工作,分析项目中存在的问题做了些针对性的优化,整个重构工作持续了一年半之久. 主要针对以下问题: 一 产品型号太多产生非常多重复性工作 产品型号太多导致代码工程的分支太多,维护时会产生非常多的重复性的工作. 这是一个历史遗留问题,公司成立之初的开发人员在开发时没有考虑

  • vue项目代码格式规范设置参考指南

    目录 前言 为项目添加eslint 自定义eslint配置 pre-commit设置 VS Code配置 参考 总结 前言 为了尽量统一项目成员的代码风格,降低开发者对代码的理解成本,所以我们需要为项目统一代码格式规范:同时我们不能为了降低理解成本,去增加开发成本,所以我们借助VS Code的相关插件去完成代码格式化的功能. 为项目添加eslint 使用vue-cli构建的项目,在项目构建时,就会让你选择格式化方案,如果是已有项目运行vue add eslint添加格式化方式,建议选择Prett

  • Pycharm学习教程(2) 代码风格

    如何创建一个Python工程并使其具有Pycharm的代码风格,具体如下 1.主题 这部分教程主要介绍如何创建一个Python工程并使其具有Pycharm的代码风格.你将会看到Pycharm使你的源码变得非常简洁美观,带有合适的缩进.空格等等,因此Pycharm也是一款代码质量管理的利器. 这部分教程并不会介绍如何使用Python进行编程,更多有关Python编程的知识请参照:Python编程 2.准备工作 在开始之前,请确认一下情况: (1)安装了Pycharm2.7或更高版本的软件 (2)已

随机推荐