您的位置:首页 > 编程语言 > C#

c#代码编程风格很实用

2011-01-04 16:39 253 查看
1. 代码风格规范



规范

说明

缩进

4个空格

用Tab的话在不同地方显示长度会变

行宽

固定

限制为在VS2010中不隐藏Solution Explorer时不超出边界

括号

不要依赖优先级而省略括号

在复杂的条件表达式中清楚表示逻辑优先级

断行与空白的{}行

必须,不能省略

单步Debug需要;

使结构和对应关系清晰

下划线

只有两种情况下使用:

类的私有成员以下划线开头

事件响应函数以下划线分隔对象和动作

大小写

类型/类/函数名用Pascal形式

变量用Camel形式

类/类型/变量用组合名词,

函数则用动词或动宾组合词

注释

复杂的注释应该放在函数头;

注释只用来解释程序做什么,为什么这样做,以及要特别注意的地方;

不要注释程序是怎么工作的,这应该在代码中清晰体现

有明显相似作用的代码要用 #region #endregion 括起来并简单注释

注释应随程序的修改而不断更新

命名规则:



规范

示例

类的私有成员

以下划线开头,后第一个单词首字母小写其余首字母大写。

_startPosition

类的公有成员

以属性(Property)体现,私有成员若需外部访问必须通过属性封装。

public float StartPosition

{

get;

private set;

}

类的属性名

所有单词的第一个首字母都要大写。

StartPosition

其它除类的私有成员外的变量

均为第一个单词首字母小写其余首字母大写。

myPrivateVariable

类、枚举、结构体的名字

所有单词的第一个首字母都要大写。

MiniSphere

命名空间的名字

所有单词的第一个首字母都要大写;

不能有下划线,若有说明需划分子命名空间

注释的一些模板

文件注释

位于文件开头:

/***************************************************************************\

* CodingCrazy Team @ MSRA-USTC Class

*

* Module Name:An unabbreviated name for the module (not the filename)

* Abstract:

* Description of what this module does

* Notes:

* [Optional] algorithm description, special case conditions,

* references, etc.

*

* History:

* Created on 2010-11-24 by xxx

* # Add …

* Modified on 2010-11-25 by xxx

* # Add …

* # Remove ...

* # ...

* Modified on 2010-11-26 by xxx

* # ...

\***************************************************************************/

函数头部注释

使用XML文档型注释,即///

函数内部注释

一律使用 //

2. 代码设计规范

函数功能:只做一件事,但是要做好。

参数处理:所有传递过来的参数都需要用Assert断言保证其正确性。

      如:Assert( p != NULL ); Assert( s.length > 3 );

错误处理:只用作Debug用途的输出信息代码等均需要嵌套在以下预处理语句中。

    #if _DAIDAI_DEBUG_

      // 这里是debug相关代码

    #endif

Tips:

使用Ctrl+K+C注释成片代码,Ctrl+K+U取消注释。

善用代码片段和代码环绕:

    可以尝试输入#region后再按两下Tab键。

    输入fore后按两下Tab键再按Tab修改。

    按#if后再按两下Tab键。

    选中一片代码后右键菜单中选择Surround with...再选择 try或#region。

使用F12和Ctrl+'-'在代码中导航。

使用右键Refractor菜单项:比如用Encapsulate field来封装类内私有成员。

使用右键Reslove菜单项加入命名空间。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: