自己总结的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的最基本的用法,编码等等介绍的很好,这里把我用到的 ...
随机推荐
- sench touch 时间插件 扩展
因项目 需要 老项目需要用到 时分 的插件 而本身sencha touch 自己木有这个功能,因此在网上找到了 一个可以扩展的插件. 相关目录复制如下代码: /** * The picke ...
- Linux基础实操二
实操一: 1) 新建用户natasha uid为1000,gid为555,备注信息为“master” 2) 修改natasha用户的家目录为/Natasha 3) 查看用户信息配置文件的最后一行 ca ...
- anaconda利用pip安装module
开始_程序 中搜索:anaconda prompt (控制台) 输入pip 出现pip的一些信息,可以忽略 接着输入 pip install 模块名称 例如:pip install alphalens ...
- postMan测试https接口
一.如何安装postman? Postman下载地址https://www.getpostman.com/ 我下载的版本是Postman-win64-5.0.0-Setup.exe 这是免安装的,可以 ...
- Centos7上配置网络和本地yum方法
配置网络yum源 前提:1.这个系统能上网 2.vim /etc/resolv.conf nameserver 8.8.8.8 nameserver 114.114.114.114 操作如下: 1.m ...
- IDEA快捷键之for循环
intelliJ生成for循环代码. 迭代器for循环 iter Iterate iterable | Array in J2SDK 5 syntax itar Iterate elements of ...
- Pycharm常用操作方法
1.调整字体大小 2.选择python编译器
- SQL Server表关联
表关联:Hash.Nested Loops.Merge.这是实际算法,不是T-SQL中的inner/left/right/full/cross join.优化器会把这些T-SQL写法转换成上面的3种算 ...
- Squid作代理服务器,用户密码验证,高匿代理
参考URL: https://www.cnblogs.com/vijayfly/p/5800038.html https://www.cnblogs.com/operaculus/p/5705184. ...
- WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Exception in thread "main" java.io.IOException: No FileSystem for sc F
1.执行脚本程序报如下所示的错误: [hadoop@slaver1 script_hadoop]$ hadoop jar web_click_mr_hive.jar com.bie.hive.mr.C ...