命名规范制定意义

1. 方便代码的交流和维护,便于日后自己的再次阅读。

2. 不影响编码的效率,不与大众习惯冲突。

3. 使代码更美观、阅读更方便。

4. 使代码的逻辑更清晰、更易于理解。


名词解释

Pascal:帕斯卡命名,每个单词第一个字母大写

Camel :驼峰命名,第一个单词字母小写,其余单词第一个大写


总结表:

标识符

大小写

样例

说明

命名空间

Pascal

namespace System.Security {

}

用有意义的名字命名 namespace,如:产品名、公司名

Pascal

public class StreamReader {

}

使用名词、名词短语命名

接口

Pascal

public interface IEnumerable {

}

以 I 开始,后面加上名词、名词短语、形容词命名。

字段 ( 私有、保护 )

Camel

private string userName;

第一个单词小写,后面连接的单词首字母大写

字段 ( 公共、静态 )

Pascal

public static readonly string UserId ;

属性

Pascal

private int length;

public int Length { get; }

字段private且小写,然后属性public大写

枚举

Pascal

enum FileMode {

Append,

}

事件

Pascal

public event EventHandler Exited ;

方法

Pascal

public string ToString ();

一般将其命名为动宾短语, “动词+对象 ”.

参数

Camel

public static int ToInt32(string userId );


基础数据类型命名

数据类型

标准命名举例

array

arrShoppingList

bool

isPostBack

string

strFirstName

int

intId

DateTime

dtmStartDate

object

objDog

上面是常用的数据类型


注意事项:

序号

说明

示例

1

除约定俗成的,别用缩写。用 name, address, salary 等代替 nam, addr, sal

2

除用于循环,别使用单个字母的变量象 i, n, x 等. 而要使用 index, temp 等

for ( int index = 0; index < count; index++ ){ ...}

3

自定义的异常以 Exception结尾

public class AppException : Exception

4

代码的缩进 .要用 Tab,而不要用 space.

5

所有的类成员变量应该被声明在类的顶部,并用一个空行把它们和方法以及属性的声明区分开

6

建议局部变量在最接近使用它时再声明 .

7

文件名要能反应类的内容,最好是和类同名,一个文件中一个类或一组关连类

8

大括号 "{"要新起一行

9

单独方法要加注释

/// <summary>

/// 根据id获得姓名

/// </summary>

/// <param name="id">检索的id</param>

/// <returns></returns>

public string GetName(int id)

{

return "xiaomi";

}

10

不要对字段名或静态字段名应用前缀。 具体说来, 不要对字段名称应用前缀来区分静态和非静态字段。

例如,应用 g_ 或 s_ 前缀是不正确的。

11

避免容易被主观解释的难懂的名称

方法名 AnalyzeThis() ,或者属性名 xxK8。这样的名称会导致多义性。

12

在类属性的名称中包含类名是多余的

如 Book.BookTitle 。而是应该使用 Book.Title

13

只要合适,在变量名的末尾或开头加计算限定符

( Avg、Sum、Min、Max、Index )

14

在变量名中使用互补对

如 min/max 、begin/end 和 open/close

15

布尔变量名应该包含 Is ,这意味着 Yes/No 或 True/False 值

fileIsFound

16

在命名状态变量时,避免使用诸如 Flag 的术语。状态变量不同于布尔变量的地方是它可以具有两个以上的可能值

不是使

用 documentFlag ,而是使用更具描述性的名称,如 documentFormatType 。 (此项只供参考)

17

用于事件处理的委托添加 “EventHandler ”后缀

public delegate void MouseEventHandler(object sender, MouseEventArgs e);

18

用于事件处理之外的那些委托添加 “Callback ”后缀

19

不要给委托添加 “Delegate ”后缀

C#代码规范整理的更多相关文章

  1. python代码规范整理

    规范参考源: 1.pep8(python代码样式规范):中文文档      https://blog.csdn.net/ratsniper/article/details/78954852 2.pep ...

  2. .NET代码编写规范 整理

    .NET代码编写规范 整理 .NET代码编写规范 - [ASP.NET] 2009-02-26 | Tag: 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://lensp ...

  3. JavaScript代码规范和性能整理

    性能 Js在性能方面有多要注意的地方: 避免全局查找 Js性能优化最重要的就是注意全局查找,因为作用域的查找是先找局部作用域在没有找到之后在去上一级作用域查找直到全局作用域,所以全局作用域查找的性能消 ...

  4. Java编程规范整理

    分享一份网友整理的编程过程中的命名规范 包命名 包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反. 由一组以"."连接的标识符构成,通常第一个标识符为 ...

  5. 【转】iOS代码规范

    原文地址: http://www.cocoachina.com/ios/20150908/13335.html 简介: 本 文整理自Apple文档<Coding Guidelines for C ...

  6. Sonar 常用代码规则整理(二)

    摘要:公司部署了一套sonar,经过一段时间运行,发现有一些问题出现频率很高,因此有必要将这些问题进行整理总结和分析,避免再次出现类似问题. 作者原创技术文章,转载请注明出处 ============ ...

  7. Sonar 常用代码规则整理(一)

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 摘要:公司部署了一套sonar,经过一段时间运行,发现有一些问题出现频率很高,因此有必要将这些问题进行整理总结和分 ...

  8. 我自己总结的C#开发命名规范整理了一份

    我自己总结的C#开发命名规范整理了一份 标签: 开发规范文档标准语言 2014-06-27 22:58 3165人阅读 评论(1) 收藏 举报  分类: C#(39)  版权声明:本文为博主原创文章, ...

  9. 单元测试系列之十:Sonar 常用代码规则整理(二)

    摘要:帮助公司部署了一套sonar平台,经过一段时间运行,发现有一些问题出现频率很高,因此有必要将这些问题进行整理总结和分析,避免再次出现类似问题. 作者原创技术文章,转载请注明出处 ======== ...

随机推荐

  1. python返回列表中指定内容的索引

    import numpy as npa=[2,10,2,3,4,10,10]ans = np.where(np.array(a)==10)print(ans) 结果是:(array([1, 5, 6] ...

  2. 如何设置android studio让程序运行在真机中

    1.Run——>Edit Configurations... 2.运行

  3. 使用OGNL表达式

    OGNL表达式(#号的用法) 用法1:访问OGNL上下文和Action上下文,#相当于ActionContext.getContext() 1.如果访问其他Context中的对象,由于他们不是根对象, ...

  4. PS 滤镜— — 镜头光晕

    clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imread ...

  5. 无废话WCF系列教程 -- 李林峰

    李林峰的无废话WCF入门教程 无废话WCF入门教程一[什么是WCF] 无废话WCF入门教程二[WCF应用的通信过程] 无废话WCF入门教程三[WCF的宿主] 无废话WCF入门教程四[WCF的配置文件] ...

  6. PPI协议详解 ppi通讯协议 ppi通信协议 vb与ppi协议通讯

    转自:http://blog.csdn.net/vbvcde/article/details/7660497 我们提供 PPI协议的官方文档,协议更新时间为2005年,下面是我们根据文档解析的PPI读 ...

  7. python3 + selenium + eclipse 中报错:'geckodriver' executable needs to be in PATH

    Windows系统解决办法如下: 1.下载geckodriver.exe: 下载地址:https://github.com/mozilla/geckodriver/releases 请根据系统版本选择 ...

  8. ClientSocket.h ClientSocket.cpp

    ClientSocket.h #pragma once // CClientSocket 命令目标 #include "ClientProDlg.h" #include " ...

  9. hadoop学习路线(转)

    刚刚入门hadoop,如何去学习hadoop.google一篇学习路线图,与童鞋们共勉: 转自:http://blog.csdn.net/zhoudaxia/article/details/88017 ...

  10. windows7如何打开远程桌面&nbsp;-…

    单位的机器,刚装上了windows7旗舰版(当然不是花银子滴),想打开远程桌面连接,这样从别的机器登录也方便.可是问题来了,windows7对安全的设置比较高,不像windows XP那么随便一点就可 ...