自己总结的C#编码规范--1.命名约定篇
命名约定
我们在命名标识符时(包括参数,常量,变量),应使用单词的首字母大小写来区分一个标识符中的多个单词,如UserName.
PascalCasing
PascalCasing包含一到多个单词,每一个单词第一个字母大写,其余字母均小写。例如:HelloWorld、SetName等。
除了参数、变量、常量外,所有命名空间名称、类、函数、接口、属性、事件、枚举等名称的命名,使用 Pascal 风格。
camelCasing
camelCasing包含一到多个单词,第一个单词首字母小写,其余单词首字母大写。例如:name、productId等。
参数与变量的命名使用camelCasing.
SCREAMING_CAPS
SCREAMING_CAPS包含一到多个单词,每个单词的所有字母都大写,单词与单词之间用"_"连接,该风格目前在c#中只用于const常量。
如:public const string DEFAULT_PAGE = "default.aspx";
私有变量的命名
Private 的私有变量使用下划线"_"+camelCasing的大小写规则,以便快速确认该变量的作用域。
如: private int _userId;
首字母缩写词的大小写
首字母缩写词是由一个短语的首字母组成的,如Xml(ExtensibleMarkuLaguage),IO(Input and Output)。它和单词缩写是有区别的,单词缩写仅仅是把一个单词的长度变短。
- 把两个字母的首字母缩写词全部大写,除非它是camelCasing的第一个单词。
using System.IO;
public void StartIO(Stream ioStream)
- 由三个或以上的字母组成的首字母缩写词,只有第一个字母大写,如Xml,Html.除非首字母是camelCasing标识符的第一个单词。
using System.Xml;
public void ProcessXmlNode(XmlNode xmlNode)
复合词的大小写
不要把复合词中的首字母大写。复合词要当成一个单词来处理。
如endpoint, callback,metadata,namespace等都是正确的写法
在带单位的值的变量后加上"_camelCasing单位"
将单位加入标识符命名中,可以使使用者快速准确的知道传人数据的单位,减少错误的发生。
如public void CreateCache(int cacheSize)
传入的数据是bytes, KB, MB 还是GB?
改成public void CreateCache(int cacheSize_mb)
一目了然,并且会减少调用者传入错误数据的可能。
其他一些没有单位的函数参数以及带单位的版本。

不要使用匈牙利命名法
匈牙利命名法是指用小写形式的数据类型缩写来作为变量名的前缀。如:strName,intCount。
这种命名法在C和C++时代很流行,可以帮助程序员记住自己的类型。
但在C#中需要禁用,除非你有足够的理由,因为:
- C#都是强类型的,现在的IDE(如Visual Studio)可以自动的检测出当前变量的类型以及类型错误

- 开发初期经常需要修改变量的类型,使用匈牙利命名法维护很困难。
使用英语语序命名标识符
人在阅读代码时,能更快的理解符合其阅读习惯的命名。
如VerticalAlignment比AlignmentVertical能让人更快的知道该变量的含意。
自己总结的C#编码规范--1.命名约定篇的更多相关文章
- 自己总结的C#编码规范--4.注释篇
注释 注释毫无疑问是让别人以最快速度了解你代码的最快途径,但写注释的目的绝不仅仅是"解释代码做了什么",更重要的尽量帮助代码阅读者对代码了解的和作者一样多. 当你写代码时,你脑海里 ...
- 自己总结的C#编码规范--6.格式篇
格式 格式的统一使用可以使代码清晰.美观.方便阅读.为了不影响编码效率,在此只作如下规定: 长度 一个文件最好不要超过500行(除IDE自动生成的类). 一个文件必须只有一个命名空间,严禁将多个命名空 ...
- 这套C#编码规范写不错
自己总结的C#编码规范--1.命名约定篇:http://www.cnblogs.com/luzhihua55/p/CodingConventions1.html 自己总结的C#编码规范--2.命名选择 ...
- python编码规范
python编码规范 文件及目录规范 文件保存为 utf-8 格式. 程序首行必须为编码声明:# -*- coding:utf-8 -*- 文件名全部小写. 代码风格 空格 设置用空格符替换TAB符. ...
- C#编码规范 转 http://www.cnblogs.com/wulinfeng/archive/2012/08/31/2664720.html
C#编码规范 1 规范目的 ……………………………………………………… 3 2 适用范围 ……………………………………………………… 3 3 代码注释 ………………………………………………… ...
- c#编码规范
1 规范目的 --------------------- 3 2 适用范围 --------------------- 3 3 代码注释 --------------------- 3 3.1 ...
- Mod4-PHP编码规范
loading... 归纳总结了能找到的一些编码规范,形成自己所需要的编码规范. 参考网址:1.2 一.文件格式 缩进使用四个空格,不使用制表符.左花括号不另起一行. if (1 == $x) { $ ...
- 资料推荐--Google Java编码规范
之前已经推荐过Google的Java编码规范英文版了: http://google-styleguide.googlecode.com/svn/trunk/javaguide.html 虽然这篇文章的 ...
- Python + OpenCV2 系列:3 - python 字符串,类,编码规范
首先,强烈推荐<<简明 Python 教程>> Swaroop, C. H. 著 沈洁元 译 其实,这本书里已经把python的最基本的用法,编码等等介绍的很好,这里把我用到的 ...
随机推荐
- 第八单元 正文处理命令及tar命令
使用cat命令进行文件的纵向合并 两种文件的纵向合并方法 归档文件和归档技术 归档的目的 什么是归档 tar命令的功能 tar命令的常用选项 使用tar命令创建.查看及抽取归档文件 使用tar命令 ...
- LeetCode(67):二进制求和
Easy! 题目描述: 给定两个二进制字符串,返回它们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11", b = " ...
- javaSocket笔记
1.查看电脑当前开放链接的端口号 使用netstat命令 netstat -nao 可以查看PID进程号 netstat -nab 获取进程的详细信息 2.类创建的不同对象,引用是不同的.也就是说同一 ...
- 为什么访问json接口出现文件下载
在IE9,10,11下,当服务器端返回数据格式为json,且明确设置Content-Type为”application/json;charset=utf-8“时,会提示文件下载.如图所示: 解决办法是 ...
- appium获取APP控件信息
uiautomatorviewer.bat 该文件位于SDK安装目录tools下,如笔者在“C:\Program Files (x86)\Android\android-sdk\tools”下,双击u ...
- C#学习-类和结构
类和结构体,对两者进行比较 语法上的区别在于,定义类要使用关键字class,而定义结构体则使用关键字struct; 结构体中不可对声明字段进行初始化,但类可以: 如果没有为类显式地定义构造函数,C#编 ...
- elk服务器和运维服务器的IPTABLES
--运维服务器 iptables -P INPUT ACCEPT iptables -F iptables -X iptables -Z iptables -A INPUT -i lo -j ACCE ...
- P2860 [USACO06JAN]冗余路径Redundant Paths
题解: 首先要边双缩点这很显然 然后变成树上问题 发现dp,dfs好像不太对 考虑一下度数 发现只要在度数为1的点之间连边 但我好像不太会证明这个东西.. 网上也没有看到比较正确的证明方法和连边策略. ...
- 如何确定系统上的CPU插槽数量
环境 Red Hat Enterprise Linux 7 Red Hat Enterprise Linux 6 Red Hat Enterprise Linux 5 Red Hat Enterpri ...
- web实现下拉列表多选加搜索
实现如图所示的下拉多选还能带有搜索功能. <!DOCTYPE html> <html> <head> <title></title> < ...