望穿秋水
管理&技术&业务 项目管理方面:加强通过工具辅助管理,构建Web项目管理系统来协助项目管理。技术开发方面:加强系统分析能力、架构设计能力,时刻把握新技术动态。业务方面:加强需求分析能力,使最终需求来源于客户又高于客户。

 

C#编程规范

1      命名规范制定意义

   1 方便代码的交流和维护,便于日后自己的再次阅读。
   2
不影响编码的效率,不与大众习惯冲突。
   3
使代码更美观、阅读更方便。
   4
使代码的逻辑更清晰、更易于理解

2      命名规范制定原则

首要原则

有意义的,描述性的词语来命名。能够一眼看出它作什么。别使用会引起误解的名字。如果名字一目了然,就无需用文档来解释方法的功能了

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

2. 除用于循环,别使用单个字母的变量象i, n, x 等. 而要使用 index, temp等。
for ( int i = 0; i < count; i++ ){ ...}

其他习惯

 除了界面控件外,不要使用类型前缀。比如:使用名称amount,而不是 intAmount;

 类:使用名词、名词短语命名。比如:public class FileStream;

 方法:使用动词、动词短语开始。比如:CreateUser(), RemoveAt()等;

 接口:以 I 开始,后面加上名词、名词短语、形容词命名。比如:IDisposable;

 常量:所有单词大写,多个单词之间用 "_" 隔开。public const string PAGE_TITLE = "Welcome";

 命名空间: 基本格式:

CompanyName/ProjectName.TechnologyName[.Feature][.Design]

a) CompanyName/ProjectName:公司名、项目名称或产品名称;

b) TechnologyName:稳定的、公认的技术名称或架构层次名称;

c) [.Feature][.Design]:可选的功能与设计;

3      规范

1、用pascal规则来命名方法和类.(第一个单词首字母大写,后面连接的每个单词首字母都大写)
public class DataBase 
public void GetDataTable()
2
、类:使用名词、名词短语命名。比如:public class FileStream
2.
camel规则来命名局部变量和方法的参数. (第一个单词不大写,后面连接的单词首字母大写
public void AddUser(string userId, byte[] password)
{ string userName;}

3.
所有的成员变量前加前缀 _ 
public class Database 
{ private string _connectionString; } 

4.
接口的名称加前缀 I
interface ICompare 
{ int compare(); }

5.
自定义代码属性类以Attribute结尾
public class OperationAttribute : Attribute 

6.
自定义的异常以Exception结尾 
public class AppException : Exception 
7.
方法的命名.一般将其命名为动宾短语,动词+对象
GetRecordData();GetPath();CreateFile();
8.
代码的缩进.要用Tab,而不要用space.
9.
使用带有说明性的变量名。
  (a)避免单字符串的变量名,使用类似于indextemp这样有意义的名字。
  (b)对于publicprotected类型的变量避免使用匈牙利表示法。
  (c)不要缩写单词。
10.
所有的类成员变量应该被声明在类的顶部,并用一个空行把它们和方法以及属性的声明区分开.
11.
用有意义的名字命名namespace,如:产品名、公司名
12.
建议局部变量在最接近使用它时再声明
13.
使用某个控件的值时,尽量命名局部变量
14.
把引用的系统的namespace和自定义或第三方的用一个换行把它们分开
15.
文件名要能反应类的内容,最好是和类同名,一个文件中一个类或一组关连类
16.
目录结构中要反应出namespace的层次.
17.
大括号"{"要新起一行 .
18.
在和你的代码缩进处于同一个级别处为该行代码添加注释

4      提示语规范

1.       提示语中不要出现“你”,而应用尊称“您”。

2.       提示语中不要出现感叹号“!”,结尾一律用句号“。”

3.       提示语应尽量友好,提示原则是:先给出提示信息,然后给出建议或原因。比如:“你不能添加新的用户,只有系统管理员才能添加用户。” 前半句给出提示信息,后半句给出原因。

4.       页面中所有出现用户不太好理解的地方都应该给出相应的提示信息,给用户以帮助。比如:在项目请款按钮后面加提示信息:(提示:只有添加请款明细之后才能点击此按钮进行请款。)

5       控件命名

控件的名称中需要加上前缀,之所以这样做是为了区分界面的控件和普通的对象,由于界面修改往往非常频繁,区分开来能使你更快速的找到控件,从而修改界面。举一个例子:

界面有10TextBox10Label。一个TextBox对应一个Label,为了完成读写,你至少要有20条语句来从控件进行取、赋值操作,如果有前缀的话,输入this.txt,你就几乎马上能找到这个控件。反之,如果没有前缀,由于窗口或页面对象拥有大量的属性和变量(>100个),你将花费大量时间来查找。另外一个TextBox对应一个Label(一个代表值,一个代表名称),它们往往指同一样事物,如果有前缀,就很容易区分这两个控件。

控件

前缀

控件

前缀

Label

lbl

CompareValidator

cv

TextBox

txt

RangeValidator

rv

Button     

btn

RegularExpressionValidator

rev

CheckBox

chk

ValidatorSummary 

vs

RadioButton

rdo

GridView

gv

CheckBoxList

cbl

MultiView

mv

RadioButtonList

rbl

View

vw

ListBox

lst

HiddenField

hf

DropDownList

ddl

DataGrid 

dg

DataList

dl

Image 

img

Table   

tbl

Panel        

pnl

LinkButton

lbt

ImageButton  

imgbtn

Calender

cld

RequiredFieldValidator 

rfv

 

6      注释规范

类注释:

Create by       : Peter Cheng

Create Date     : 2003-7-23

 Description     : // 模块描述

方法注释:

/// <summary>

    /// 根据查询条件获得收货单的查询结果

    /// </summary>

    /// <param name="strCreator">采购商务员id</param>

    /// <param name="strVendorId">供应商id</param>

    /// <returns>查询结果数据集</returns>

代码中间注释:

// 2011-5-1 qf 添加功能:xxx

//2011-5-1 qf 修改功能:xxx

 

关键代码注释

//

 

posted on 2011-05-01 16:40  望穿秋水  阅读(501)  评论(0编辑  收藏  举报