代码规范

来源:互联网 发布:孙策玉玺换兵马 知乎 编辑:程序博客网 时间:2024/05/01 06:58


为了统一代码风格,减少代码阅读难度,提高代码质量,大家写代码的时候需要遵循以下的规则

1、  winform控件命名规范

数据类型

数据类型简写

标准命名举例

Label

lbl

lblMessage

LinkLabel

llbl

llblToday

Button

btn

btnSave

TextBox

txt

txtName

MainMenu

mmnu

mmnuFile

ToolStripMenuItem

tsmi

tsmiItem

ToolStripStatusLabel

tssl

tsslItem

NumericUpDown

nud

nudItem

ProgressBar

Pgb

pgbItem

CheckBox

chk

chkStock

RadioButton

rbtn

rbtnSelected

GroupBox

gbx

gbxMain

PictureBox

pic

picImage

Panel

pnl

pnlBody

DataGrid

dgrd

dgrdView

ListBox

lst

lstProducts

CheckedListBox

clst

clstChecked

ComboBox

cbo

cboMenu

ListView

lvw

lvwBrowser

TreeView

tvw

tvwType

TabControl

tctl

tctlSelected

DateTimePicker

dtp

dtpStartDate

HscrollBar

hsb

hsbImage

VscrollBar

vsb

vsbImage

Timer

tmr

tmrCount

ImageList

ilst

ilstImage

ToolBar

tlb

tlbManage

StatusBar

stb

stbFootPrint

OpenFileDialog

odlg

odlgFile

SaveFileDialog

sdlg

sdlgSave

FoldBrowserDialog

fbdlg

fgdlgBrowser

FontDialog

fdlg

fdlgFoot

ColorDialog

cdlg

cdlgColor

PrintDialog

pdlg

pdlgPrint

 

2、  命名空间命名

命名名称空间的一般规则如下: CompanyName.TechnologyName

       例如:Tempus. BesToneWS

         现在系统里所有的命名空间都未按照此标准,今后将会进行统一的调整

   3、类和类成分的命名

类的命名原则是用名词或名词短语命名类,使用Pascal大写。减少类名中缩写的使用量。不要使用任何类前缀(比如C),不要使用带下划线的字符。
     例如:
public class FileStream {}
      public class Button{}
      public class String{}

4、变量的命名

名称中第一个单词为小写,其他各单词首字母均为打大写
     例如:
findLastRecord
        redrawMyForm
    

5、函数和方法的命名

  函数和方法的命名应该以动词开始,使用Pascal大写。不要使用带下划线的字符。
  例如:
InitNameArray
      CloseDialog

6、接口命名原则           

  使用名词或名词短语,或者描述行为的形容词来命名接口,使用Pascal大写。 减少接口名中缩写的使用量,在接口名前加前缀I,以表示这个类型是一个接口。
   例如: IComponent(描述性名词)
       ICustomAttributeProvider(名词短语)
       IPersistable(形容词)

7、参数的命名   

  使用描述性参数名。参数名应该具有足够的描述性,这样在大多数情况下参数名和它的种类可以用来确定它的意思。根据参数的意思来命名参数,而不是根据参数的种类来命名。
  例如:Type GetType (stringtypeName)

8、属性的命名

  用名词或名词短语命名属性,属性与类型要一样。 用与一个类型的名称相同的名字来命名属性时,就使这个属性的类型成为那个类型。
  例如:public enum Color{...}
      public class Control{
      public Color Color{get {...} set {...}}
      }

9、事件的命名

  用EventHandloer后缀命名事件处理程序,使用名为sender和e的两个参数,Sender参数代表提出事件的对象。Sender参数永远是一个类型对象,即使它可能使用了更为特定的类型,与事件相关的状态被封装在一个名为e的事件类范例中。要使用这个类型的正确的、特定的事件类。 
  例如:public delegate voidMouseEventHandler(object sender, MouseEvent e);
  命名事件名时,需要有之前和之后的时态概念,因此要使用现在时态和过去时态(不要使用BeforeXxx\\AfterXxx的方式)。例如,可以被取消的结束事件就有Closing事件和Closed事件。

10、长项和常用项的命名

可使用缩写使名称长度适中,通常,多于 32 个字符的变量名在低分辨率的监视器上难以阅读。同时,请确保缩写在整个应用程序中保持一致。 
  例如:可以使用“HTML”代替“HyperText MarkupLanguage”。

 

11、代码书写格式规范

    • 文件之中不得存在无规则的空行,比如说连续十个空行。一般来讲函数与函数之间的空行为2-3行
    • 在函数体内部,在逻辑上独立的两个函数块可适当空行,一般为1-2行。
    • 每行长度尽量避免超过屏幕宽度,应不超过80个字符。
    • 尽量用公共过程或子程序去代替重复的功能代码段。
    • 使用括号清晰地表达算术表达式和逻辑表达式的运算顺序。如将 x=a*b/c*d 写成 x=(a*b/c)*d可避免阅读者误解为x=(a*b)/(c*d)。
    • 避免采用过于复杂的条件测试。
    • 避免过多的循环嵌套和条件嵌套。
    • 一个函数不要超过200行。一个文件应避免超过2000行。
    • 避免使用goto语句。
    • 避免采用多赋值语句,如x = y = z;。

12、代码注释规范

.cs文件的注释
   所有.cs文件开头都要加上注释,写明文件创建时间、作者、用途概述等
  例如:

//*********************************************************

//新增日期:2013-4-23

//内容说明:*****

//作者:**

//*********************************************************

 

13、函数注释

所有的函数体开头都要加上注释