c#代码编程风格很实用
1. 代码风格规范
| 
 项  | 
 规范  | 
 说明  | 
| 
 缩进  | 
 4个空格  | 
 用Tab的话在不同地方显示长度会变  | 
| 
 行宽  | 
 固定  | 
 限制为在VS2010中不隐藏Solution Explorer时不超出边界  | 
| 
 括号  | 
 不要依赖优先级而省略括号  | 
 在复杂的条件表达式中清楚表示逻辑优先级  | 
| 
 断行与空白的{}行  | 
 必须,不能省略  | 
 单步Debug需要; 使结构和对应关系清晰  | 
| 
 下划线  | 
 只有两种情况下使用: 
  | 
 
  | 
| 
 大小写  | 
 类型/类/函数名用Pascal形式 变量用Camel形式  | 
 类/类型/变量用组合名词, 函数则用动词或动宾组合词  | 
| 
 注释  | 
  | 
 注释应随程序的修改而不断更新  | 
命名规则:
| 
 项  | 
 规范  | 
 示例  | 
| 
 类的私有成员  | 
 以下划线开头,后第一个单词首字母小写其余首字母大写。  | 
 _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菜单项加入命名空间。
 
                    
                
                
            
        
浙公网安备 33010602011771号