C#代码开发命名规范示例

C#代码开发命名规范示例
C#代码开发命名规范示例

代码开发命名规范拟稿

该规范的制定致力于规范代码格式,提高开发效率,保证程序质量,最终解释权归*********软件开发组。

1.项目名称及类库命名规范

项目名称:Testlatform,简写Test

实体类类库命名:Test.Model

业务逻辑类类库命名:Test.BLL

数据工厂类类库命名:Test.DALFactory

数据库帮助类类库命名:Test.DBUtility

数据接口类类库命名:Test.IDAL

数据访问层类类库命名:Test.SQLServerDAL

常用帮助类类库命名:Test.Utils

表现层类库命名:Test.UI

2.数据库名称及字段命名规范

1)数据库命名

数据库命名:同项目名称简写(Test)

2)实体(表)命名

规则:[前缀]_[表存储内容简称]

举例:Sys_User【系统用户表】

Sys_Role【角色表】

3)属性(列)命名

规则:[前缀]+[列存储内容简称]

举例:UserID【用户编号】UserID

RoleName【角色名称】

4)视图命名:

规则:视图以V作为前缀,其他命名规则和表的命名类似;

命名应尽量体现各视图的功能。

举例:V_GetUserLogInfo【获取用户的登录信息】

5)触发器的命名

规则:触发器以TR作为前缀,触发器名为相应的表名加上后缀,Insert触发器加"_I",Delete触发器加"_D",Update触发器加"_U",

举例:TR_User_I【添加用户时激发】

6)存储过程命名

规则:存储过程应以"UP_"开头,和系统的存储过程区分,后续部分以存储过程内容加存储过程的动作构成(参考动软代码生成器生成存储过程的规则),并

用下划线分割各个组成部分。

举例:UP_Sys_User_Update【更新系统用户信息】7)变量命名

规则:变量名采用小写,若属于词组形式,用下划线分隔每个单词,

举例:@my_err_no。

8)命名中其他注意事项

a.以上命名都不得超过30个字符的系统限制。变量名的长度限制为29(不包括

标识字符@)。

b.数据对象、变量的命名都采用英文字符,禁止使用中文命名。绝对不要在对

象名的字符之间留空格。

c.小心保留词,要保证你的字段名没有和保留词、数据库系统或者常用访问方法

冲突

d.保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保

证一致性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符

型了。

3.项目代码命名规范

1)https://www.360docs.net/doc/a48110534.html,命名规范

注释:动软代码生成器生成的逻辑代码除外。

数据类型数据类型简写标准命名举例

Connection con conNorthwind

Command cmd cmdReturnProducts

Parameter parm parmProductID

DataAdapter dad dadProducts DataReader dtr dtrProducts

DataSet dst dstNorthWind DataTable dtbl dtblProduct

DataRow drow drowRow98 DataColumn dcol dcolProductID DataRelation drel drelMasterDetail DataView dvw dvwFilteredProducts

2)WebControl命名规范

Web控件名简写标准命名举例AdRotator adrt adrtExample Button btn btnSubmit Calendar cal calMettingDates CheckBox chk chkBlue CheckBoxList chkl chklFavColors CompareValidator valc valcValidAge CustomValidator valx valxDBCheck DataGrid dgrd dgrdTitles DataList dlst dlstTitles DropDownList drop dropCountries HyperLink lnk lnkDetails

Image img imgAuntBetty ImageButton ibtn ibtnSubmit

Label lbl lblResults LinkButton lbtn lbtnSubmit ListBox lst lstCountries

Panel pnl pnlForm2 PlaceHolder plh plhFormContents RadioButton rad radFemale RadioButtonList radl radlGender RangeValidator valg valgAge RegularExpression vale valeEmail_Validator Repeater rpt rptQueryResults

RequiredFieldValidator valr valrFirstName

Table tbl tblCountryCodes TableCell tblc tblcGermany TableRow tblr tblrCountry TextBox txt txtFirstName ValidationSummary vals valsFormErrors

XML xmlc xmlcTransformResults

3)HTML控件命名规则

HTML控件名简写标准命名举例HtmlAnchor hah hahUserDetial HtmlButton hbtn hbtnConfirm HtmlForm hform hformFromUser HtmlGenericControl hgc

HtmlImage himg himgHeader HtmlInputButton(按钮)hbbtn hbbtnButton HtmlInputButton(重置)hrbtn hrbtnReset HtmlInputButton(提交)hcbtn hcbtnSubmit HtmlInputCheckBox hick hickSelectAll HtmlInputFile hifile hifileUploadFile HtmlInputHidden hihid hihidUserID HtmlInputImage hiimg hiimgUserUpdate HtmlInputRadioButton hirb hirbSelectUser HtmlInputText(密码)hipwd hipwdUserPass HtmlInputText(文本)hitxt hitxtUserName HtmlSelect hslt hsltUser

HtmlTable htab htabHeader HtmlTableCell htc htcUserName HtmlTableRow htr htrTitle HtmlTextArea htxta htxtaNotes

4)常量、变量名及类名命名规范

a.常量命名

规则:大写英文字母加下划线

举例:PRICE,MARKET_PRICE

b.变量命名

变量类型类型简写标准命名举例

Array arr arrShoppingList

Boolean bln blnIsPostBack

Byte byt bytPixelValue

Char chr chrDelimiter

DateTime dtm dtmStartDate

Decimal dec decAverageHeight

Double dbl dblSizeofUniverse

Guid gu guUserID

Integer int intRowCounter

Long lng lngBillGatesIncome

Object obj objReturnValue

Short shr shrAverage

Single sng sngMaximum

String str strFirstName

c.类命名

1、类名命名:以该类的具体用途命名该类类名,全英文构成,单个单词首字母大

写,组合单词每个单词首字母大写,其它字母小写,例如:UserInfo,ProductDetails。

2、顶级命名空间命名:例如:Test。

3、类库名空间命名:“Test”+“.”+类库名,例如:Test.BLL。

4、类名空间命名:“Test”+“.”+类库名+类名,例如:Test.Model.DeptInfo。

5)CSS命名规范

样式表文件名命名规则,全英文构成,单个单词首字母大写,组合单词每个单词首字母大写,其它字母小写,并以“Style”结尾,前面组合单词指明该样式表的用途,例如:HomePageStyle,表示应用于主页的全局样式表;ProudctListStyle,表示应用于产品列表的样式表。

a.CSS常用命名规范

头:header

内容:content/container

尾:footer

导航:nav

侧栏:sidebar

栏目:column

页面外围控制整体布局宽度:wrapper 左右中:leftrightcenter

登录条:loginbar

标志:logo

广告:banner

页面主体:main

热点:hot

新闻:news

下载:download

子导航:subnav

菜单:menu

子菜单:submenu

搜索:search

友情链接:friendlink

页脚:footer

版权:copyright

滚动:scroll

内容:content

标签页:tab

文章列表:list

提示信息:msg

小技巧:tips

栏目标题:title

加入:joinus

指南:guild

服务:service

注册:regsiter

状态:status

投票:vote

合作伙伴:partner

b.注释的写法

/*Footer*/

内容区

/*EndFooter*/

c.id的命名

(1)页面结构

容器:container

页头:header

内容:content/container

页面主体:main

页尾:footer

导航:nav

侧栏:sidebar

栏目:column

页面外围控制整体布局宽度:wrapper 左右中:leftrightcenter

(2)导航

导航:nav

主导航:mainbav

子导航:subnav

顶导航:topnav

边导航:sidebar

左导航:leftsidebar

右导航:rightsidebar

菜单:menu

子菜单:submenu 标题:title

摘要:summary

(3)功能

标志:logo

广告:banner

登陆:login

登录条:loginbar 注册:regsiter

搜索:search

功能区:shop

标题:title

加入:joinus

状态:status

按钮:btn

滚动:scroll

标签页:tab

文章列表:list

提示信息:msg

当前的:current

小技巧:tips

图标:icon

注释:note

指南:guild

服务:service

热点:hot

新闻:news

下载:download 投票:vote

合作伙伴:partner

友情链接:link

版权:copyright

d.class的命名

(1)颜色:使用颜色的名称或者16进制代码。如

.red{color:red;}

.f60{color:#f60;}

.ff8600{color:#ff8600;}

(2)字体大小,直接使用"font+字体大小"作为名称。如.font12px{font-size:12px;}

.font9pt{font-size:9pt;}

(3)对齐样式,使用对齐目标的英文名称。如

.left{float:left;}

.bottom{float:bottom;}

(4)标题栏样式,使用"类别+功能"的方式命名。如

.barnews{}

.barproduct{}

e.注意事项

1.一律小写;

2.尽量用英文;

3.不加中杠和下划线;

4.尽量不缩写,除非一看就明白的单词。

主要的MasterStyle.css

模块ModuleStyle.css

基本共用BaseStyle.css

布局,版面LayoutStyle.css

主题ThemesStyle.css

专栏ColumnsStyle.css

文字FontStyle.css

表单FormsStyle.css

补丁MendStyle.css

打印PrintStyle.css

4.代码书写格式规范

o文件之中不得存在无规则的空行,比如说连续十个空行。一般来讲函数与函数之间的空行为2-3行。

o在函数体内部,在逻辑上独立的两个函数块可适当空行,一般为1-2行。

o每行长度尽量避免超过屏幕宽度,应不超过80个字符。

o使用括号清晰地表达算术表达式和逻辑表达式的运算顺序。如将x=a*b/c*d写成x=(a*b/c)*d可避免阅读者误解为x=(a*b)/(c*d)。

o避免采用过于复杂的条件测试。

o避免过多的循环嵌套和条件嵌套。

o一个函数不要超过200行。一个文件应避免超过2000行。

o不可以使用goto语句。

o避免采用多赋值语句,如x=y=z;。

5.代码注释规范

1).cs文件的注释

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

例如:

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

//新增日期:2004.7.19

//作者:XXX

//內容说明:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

2)函数过程注释

所有的函数体开头都要加上注释,所以注释使用.NET注释规范。

例如:

///

///构造函数

///

///示例参数1

///示例参数2

public UpgradeThread(string is_xxx1,string is_xxx2)

{

//…

}

3)常量变量注释

所有的常量变量,无论是全局还是局部使用的,凡是对代码整体起到关键性做用的都需要加上注释。

例如:

///

///当前线程指向的备份文件本地保存路径

///

public string str StorePath='';

4)代码修改注释

当开发者维护以前的程序代码时,需要在修改处的开始及结尾,加上自己的注释信息。例如:

//BEGIN2004-7-19Jayson修正了XXX问题

略…

//END2004-7-19Jayson

注释量化标准:注释占代码量的10%及以上

附录一:.NET中的命名规范

名称空间的命名

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

CompanyName.TechnologyName

这样,我们看到的名称空间应该是这样的:

Microsoft.Office

PowerSoft.PowerBuilder

注意:这只是一个原则。第三方公司可以选择其它的名字。

避免用公司名称或其它著名品牌的名称作为名称空间的前缀,这样会造成两个公布的名称空间有同一个名称的可能性。

例如:将微软提供的Office自动类命名为Microsoft.Office

使用Pascal大写方式,用逗号分隔逻辑成分。

例如:Microsoft.Office.PowerPoint

如果你的品牌使用的是非传统大写方式,那么一定要遵循你的品牌所确定使用的大写方式,即使这种方式背离了通常的名称空间大写规则。

例如:NeXT.WebObjects

ee.cummings

类和类成分的命名

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

例如:public class FileStream{}

public class Button{}

public class String{}

变量的命名

名称中各单词首字母均为大写。

例如:FindLastRecord

RedrawMyForm

在内部范围中避免使用与外部范围中的名称相同的名称。若访问错误变量,则会产生错误结果。若变量与同一名称的关键字冲突,则必须在关键字前加适当的类型库以作标识。

例如:若有一个名为date的变量,只能通过调用System.Date来使用内

部Date函数。

函数和方法的命名

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

例如:InitNameArray

CloseDialog

接口命名原则

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

例如:IComponent(描述性名词)

ICustomAttributeProvider(名词短语)

IPersistable(形容词)

参数的命名

使用描述性参数名。参数名应该具有足够的描述性,这样在大多数情况下参数名和它的种类可以用来确定它的意思。根据参数的意思来命名参数,而不是根据参数的种类来命名。我们希望开发工具可以用很方便的方式提供关于参数种类的信息,这样参数名可以得到更好的使用,可以对语义而不是对种类进行描述。但是偶尔使用根据类型命名的参数名也是完全可以的。不要使用保留参数。如果在下一个版本中需要更多的数据,可以增加进来。

例如:Type GetType(string typeName)

string Format(string format,object[]args)

属性的命名

用名词或名词短语命名属性,属性与类型要一样。用与一个类型的名称相同的名字来命名属性时,就使这个属性的类型成为那个类型。虽然听起来有些奇怪,但这是正确的。

例如:public enum Color{...}

public class Control{

public Color Color{get{...}set{...}}

}

事件的命名

用EventHandloer后缀命名事件处理程序,使用名为sender和e的两个参数,Sender 参数代表提出事件的对象。Sender参数永远是一个类型对象,即使它可能使用了更为特定的类型,与事件相关的状态被封装在一个名为e的事件类范例中。要使用这个类型的正确的、特定的事件类。

例如:public delegate void MouseEventHandler(object sender,MouseEvent e);

命名事件名时,需要有之前和之后的时态概念,因此要使用现在时态和过去时态(不要使用BeforeXxx\\AfterXxx的方式)。例如,可以被取消的结束事件就有Closing事件和Closed事件。

长项和常用项的命名

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

例如:可以使用“HTML”代替“HyperText Markup Language”。

代码编写规范

知识管理系统代码编写规范 一、介绍 本文档为《知识管理系统》代码编写规范,为保证代码风格的一致性和后期的可维护性,文档讲述的内容要求所有开发人员必须遵守。 本规范主要参考了Google Java Style,包括了其他一些业界约定俗成的公约和普遍采用的标准。本规范并非最终标准,一些规定还需再做商讨。 1.1 术语说明 本文档除非特殊说明,否则: 1. 类(class)统指普通类、枚举类、接口和注解类型。 2. 注释(comment)只用来指实现注释(implementation comments)。我们不使用“文 档注释”这样的说法,而会直接说Javadoc。 其他“术语说明”,将在文档中需要说明的地方单独说明。 1.2 文档说明 本文档中的代码并不一定符合所有规范。即使这些代码遵循本规范,但这不是唯一的代码方式。例子中可选的格式风格也不应该作为强制执行的规范。

二、源码文件基础 2.1 文件名 源文件以其最顶层的类名来命名,大小写敏感,文件扩展名为.java。 2.2 文件编码:UTF-8 源码文件使用UTF-8编码。 2.3 特殊字符 2.3.1 空格字符 除了换行符外,ASCII 水平空白字符(0x20)是源码文件中唯一支持的空格字符。这意味着: 1. 其他空白字符将被转义。 2. Tab字符不被用作缩进控制。 2.3.2 特殊转义字符串 任何需要转义字符串表示的字符(例如\b, \t, \n, \f, \r, \", \'和\\等),采用这种转义字符串的方式表示,而不采用对应字符的八进制数(例如\012)或Unicode 码(例如\u000a)表示。 2.3.3 非ASCII 字符 对于其余非ASCII字符,直接使用Unicode字符(例如∞),或者对应的Unicode 码(例如\u221e)转义都是允许的。唯一需要考虑的是,何种方式更能使代码容易阅读和理解。

代码规范率

竭诚为您提供优质文档/双击可除 代码规范率 篇一:数据库设计编码规范 sqlserve数据库设计规范 一、数据库命名规范: 对象前缀命名:前缀命名一般用小写 表的前缀:业务模块组名前缀 数据列的前缀:一般采用列的数据类型做前缀 存储过程前缀:udp,系统存储过程(sp) 自定义函数前缀:udf(userdefinefunction) 视图前缀:udv(userdefineView)表示用户自定义视图自定义规则前缀:udr(userdefinerule)用户自定义规则 自定义约束前缀:uck(userchecker)用户自定义约束 索引前缀:idx(index)表示索引 主键前缀:pk(primarykeys)表示主键 数据列的前缀示例: 二、数据库设计规范: 1、每个表中都可以考虑添加的的几个有用的字段

Recoredid,记录唯一编号,不建议采用业务数据作为记录的唯一编号 creationdate,在sqlserver下默认为getdate() Recordcreator,在sqlserver下默认为notnulldeFaultuseR RecordVersion,记录的版本标记;有助于准确说明记录中出现null数据或者丢失数据的原因 2、数据类型: 字符类型 一般不建议采用char而采用varchar数据类型,除非当这列数据的长度特别固定时可以考虑用char。 数值类型 如果表示金额货币建议用money型数据, 如果表示科学记数建议用numeric数据类型 记录标识 一般采用int类型标识唯一一行记录。 自增or非自增 3、索引: 所有的表都应该有一个主键索引,这对提高数据库的性能很有帮助 根据使用频率决定哪些字段需要建立索引,选择经常作为连接条件、筛选条件、聚合查询、排序的字段作为索引的

程序代码注释编写规范

百度文库- 让每个人平等地提升自我 1 程序代码注释编写规范 为提高控制程序的阅读性与可理解性,现制定相关代码程序代码注释编写的编写规范。 一般情况下,源程序有效注释量必须在20%以上,注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 常规注释有以下两种方式。 单行:以"文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。 示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************* (C), MicTiVo International. Co., Ltd. 1.File : . History: Date: Author: Modification: 2. .. *************************************************/ 一、源文件头 源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。 示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************************ (C), MicTiVo International. Co., Ltd. FileName: Author: Version : Date: : / /*receive _process() */ 意:与溢出中断写初值不同}

AndroidJava命名规范

Android Java命名规范 1、包(packages): 采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名为xx(可以是公司或则个人的随便),三级包名根据应用进行命名,四级包名为模块名或层级名 2、类(classes):名词,采用大驼峰命名法,尽量避免缩写,除非该缩写是众所周知的,比如HTML,URL,如果类名称中包含单词缩写,则单词缩写的每个字母均应大写。

3、方法(methods):动词或动名词,采用小驼峰命名法例如:onCreate(), run() 4、变量:名词,采用小驼峰命名法 5 资源文件(图片drawable文件夹下):全部小写,采用下划线命名法,加前缀区分命名模式:控件名称_逻辑名称/common_逻辑名称

6、资源布局文件(XML文件(layout布局文件)): 全部小写,采用下划线命名法 1).contentview命名, Activity默认布局,以去掉后缀的Activity类进行命名。不加后缀: 功能模块.xml 例如:main.xml、more.xml、settings.xml 或则:activity_功能模块.xml 例如:activity_main.xml、activity_more.xml 2).Dialog命名:dialog_描述.xml 例如:dlg_hint.xml 2).PopupWindow命名:ppw_描述.xml 例如:ppw _info.xml 3). 列表项命名list_item_描述.xml 例如:list_item_city.xml 4).包含项:include_模块.xml 例如:include_head.xml、include_bottom.xml 5).adapter的子布局:功能模块_item.xml 例如:main_item.xml、 7、动画文件(anim文件夹下):全部小写,采用下划线命名法,加前缀区分。 Android编码规范建议: 1.Java代码中不出现中文; 2.代码中不出现字符串,所有的字符串定义到string.xml中; 3.图片尽量分拆成多个可重用的图片; 4.使用静态变量方式实现界面间共享要慎重; 5.Log(TAG,详细描述):TAG以常量的方式定义为该类的类名; 6.不要重用父类的handler,对应一个类的handler也不应该让其子类用到,否则会导致message.what冲突; 7.activity中在一个View.OnClickListener中处理所有的逻辑; 8.strings.xml中使用%1$s实现字符串的通配; 9.如果多个Activity中包含共同的UI处理,那么可以提炼一个CommonActivity,把通用部分叫由它来处理,其他activity只要继承它即可; 10.如果使用eclipse工具: 1. Format使用Android源码自定义的xml

java项目各部分命名规则

学习Java的童鞋们都知道,Java的包、类、借口、方法、变量、常量;JavaEE 的三层模型等都有一套约定俗成的命名规则。 我学习每种语言都会关注相应的命名规则,一则体现自己比较专业;二来方便后检查,看到名称就知道是属于什么类型、占用多少内存、使用是否正确等;三又可以供其他人参考。 当然,学习Java也不例外,每次新建Java Project的时候都会想一下命名方式,尤其是对Java Package的命名。起初学习Java的时候都会推敲一番,该怎么命名所建立的Java Package,后来给自己约定俗成了,推敲少了,但命名确更规范了。 下面正式进入主题,讲讲我对Java Package命名规则的一些思考。 Java的包名都有小写单词组成,类名首字母大写;包的路径符合所开发的系统模块的定义,比如生产对生产,物资对物资,基础类对基础类。以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现。 由于Java面向对象的特性,每名Java开发人员都可以编写属于自己的Java Package,为了保障每个Java Package命名的唯一性,在最新的Java编程规范中,要求开发人员在自己定义的包名前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以多数开发人员采用自己公司在互联网上的域名称作为自己程序包的唯一前缀。例如:com.sun.swt.……。 从而,我们知道,一般公司命名为“com.公司名.项目名.模块名....”。 那,我们个人的项目又怎么命名呢? 经过我对“个人的”单词搜索,有“individual、personal、private、one-man”,进一步对以上4个单词词意的分析,并在保证了唯一性,使用每个单词的前4个字母作为前缀,正好和“com”也做了区分。如下: indi : 个体项目,指个人发起,但非自己独自完成的项目,可公开或私有项目,copyright主要属于发起者。 包名为“indi.发起者名.项目名.模块名.……”。 pers : 个人项目,指个人发起,独自完成,可分享的项目,copyright主要属于个人。 包名为“pers.个人名.项目名.模块名.……”。 priv : 私有项目,指个人发起,独自完成,非公开的私人使用的项目,copyright 属于个人。 包名为“priv.个人名.项目名.模块名.……”。 onem : 与“indi”相同,推荐使用“indi”。 另外,我为了区分团队项目和前面所说项目的区分,还有了一下扩展: team :

代码规范

目录 一.规范简介 1.1 目的 所有的程序开发手册都包含了各种规则。一些习惯自由程序人员可能对这些规则很不适应,但是在多个开发人员共同写作的情况下,这些规则是必需的。这不仅仅是为了开发效率来考虑,而且也是为了后期维护考虑。 本规范正是为培养规范设计和编程,养成良好的习惯,增强软件产品的稳定,健壮,可靠性;同时也为了提高软件的可读性,可以让程序员尽快而彻底地理解新的代码,使产品可维护性提高而制定的规范。 1.2 开发规范的重要性 (1)减少维护成本; 一个软件的生命周期中,80%的花费在于维护,另一方面,几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护,规范的编码减少人员变动带来的维护成本。 (2)改善软件的可读性 可以让程序员尽快而彻底地理解新的代码。在一个团队中,代码也容易在程序员之间共享。 (3)维护部门交付产品的规范形象。 二.具体规范 2.1 注释 注释是软件可读性的具体表现。程序注释量一般占程序编码量的20%,软件工程要求不少于20%。程序注释不能用抽象的语言,要精确表达出程序的处理说明。避免每行程序都使用注释,可以在一段程序的前面加一段注释,具有明确的处理逻辑。 注释必不可少,但也不应过多,不要被动得为写注释而写注释。

2.1.1 需要注释的部分 (1)文件头注释,文件创建及修改记录,版权归属,作者以及修订者,以及对文件的简短描述。 (2)类的目的(即类所完成的功能)、设置接口的目的以及应如何被使用。 (3)成员方法注释(对于设置与获取成员方法,在成员变量已有说明的情况下,可以不加注释;普通成员方法要求说明完成功能,参数含义以及返回值)。 (4)普通成员方法内部注释(控制结构、代码所起到的作用以及如此编写代码的原因,处理顺序等)。 (4)参数的含义以及其他任何约束或前提条件、字段或属性描述。而对于局部变量,如无特别意义的情况下则不加注释。 2.1.2 具体注释 (1)文件头注释 要求:遵循JavaDoc的规范,在每一个源文件的开头注明该文件的作用, 作简要说明, 并写上源文件的作者,版权信息编写日期。如果是修改别人编写的源文件,要在修改信息上注明修改者和修改日期。 例子: /** * @Title: 文件名 * @Copyright (C) 年份龙图软件 * @Description: 文件信息描述 * @Revision History: * @Revision 版本号日期作者. */ (2)类和接口的注释 要求:遵循JavaDoc的规范,在每一个类的开头注明该类的作用,作简要说明,并写上作者,编写日期。 例子: /** * @ClassName: 类(或接口)名 * @Description: Description of this class

java编程规范+数据库命名规范

Java编程规范 本编程规范建立在标准的Java编程规范的基础上,如和标准的Java编程规范有冲突,以本编程规范为准。 1.1 程序结构 包名 引入包/类名 类注释 类 常量//常量注释 构造器注释 构造器 构造器注释 构造器 方法注释 方法 方法注释 方法 1.2 命名规范 命名规范使得程序更易理解,可读性更强。并且能够提供函数和标识符的信息。 文件命名规范: java程序使用如下的文件名后缀: 文件类型后缀 Java 源文件.java Java 字节码文件.class 对系统的文件命名方式有待于根据实际业务决定。 包命名规范: 包名应该唯一,它的前缀可以为任何小写的ASCII字符,包名按照公司内部的命名规范,这些规范指出了某种目录名,主要包括部门,项目,机器,或者登录名。 命名规则为: app.系统名.模块名.xxx.xxx 包命名举例: app.oa.interceptor.xxx app.oa.sys.xxx 类命名规范: 类名应该是名词,并且是大小写混合的。首字母要大写。尽量保证类名简单并且描述性强。避免使用只取单词首字母的简写或者单词的缩写形式,除非缩写形式比单词的完整形式更常用(例如:URL或者HTML)。文件名必须和public的类名保持一致,注意大小写(JBuilder 等一些编译器可以忽略大小写,要特别注意)。如是实现类命名后缀+Impl。 类命名举例: classLoginAction; classUserServiceImpl; 接口命名规范:

接口命名方式与类命名方式相同。 接口命名举例: interfaceIUserService; interfaceSysYhjsDAO; 方法命名规范; 方法名应该为动词,并且是大小写混合的。首字母要小写,方法名的第 二个单词的第一个字母大写。 方法命名举例: String getNoticeNo(); Collection findByCondition(String); 变量命名规范 变量,以及所有的类实例应为首字母小写的大小写混合形式。变量名的第二个单词 的首字母大写。变量名的首字母不能为下划线或者$符。 变量名应该尽可能的短小,但要有意义。变量名应该便于记忆,也就是说变量名应 该尽可能的做到见名知意。除了暂时使用的变量外(一般用于循环变量),应该避免使 用只有一个字母的变量名。对于临时变量一般说来:i,j,k,m,n代表整型变量。c,d,e代表字符型变量。 变量命名举例: String dataType; String name; inti; char c; 常量命名规范: 声明为类常量的变量或者ANSI常量应该全部为大写字母,并且每个单词间用下划 线“_”隔开。为了便于调试,应避免使用ANSI常量。 常量命名举例: static final int MIN_WIDTH = 4; 1.3 注释规范 Java 提供了两种类型的注释:程序注释和文档注释。程序注释是由分隔符/*…*/,和// 隔开的部分,这些注释和C++ 中的注释一样。文档注释(即“doc 注释”)是Java 独有的。由分隔符/**…*/隔开。使用javadoc工具能够将文档注释抽取出来形成HTML 文件。程序注释主要是对程序的某部分具体实现方式的注释。文档注释是对程序的描述性注释,主要是提供给不需要了解程序具体实现的开发者使用。注释应该是代码的概括性描述,提供不易直接从代码中得到的信息,并且只包含对阅读和理解程序有用的信息。例如注释中包含相应的包如何编译或者在哪个目录下,而不应该包括这个包驻留在哪儿的信息。注释中可以描述一些精妙的算法和一些不易理解的设计思想,但应该避免那些在程序代码中很清楚的表达出来的信息。尽可能的避免过时的信息。错误的注释比没有注释更有害。经常性的注释有时也反映出代码质量的低下。 …程序注释: 程序注释有四种格式:块注释格式,单行注释,跟随注释,行尾注释 ?块注释格式 块注释主要用于描述:文件、方法、数据结构和算法。一般在文件或者方法定义的 之前使用。也可以用在方法定义里面,如果块注释放在函数或者方法定义里,它必须与它所描述的代码具有相同的缩进形式。

编码规范

编码规范 1.编写目的 本规范的目的在于编写可靠的、一致的、便于理解的JAVA源代码,并且写出的代码被其他人阅读,所有的JAVA代码保持良好的致性,容易在以后的阶段中进行维护和升级。同时,也是为了通过一定时间的实践,增加我们的软件产品的投入产出量,以提高我们的工作效率。 2.适应范围 适用于JAVA程序开发人员,或后续开发人员。可以方便系统的开发与维护,使系统开发与维护可以顺利展开。 3.代码命名一般原则 我们开发的是一个JSP新闻发布系统,用的编码方式是JAVA,因此用的命名总原则是: 3.1.用全英文单词命名的方式,准确地描述变量、属性、类等。 如:使用firstNname、grandTotal、等命名就比x1、y1、fn等更容易让人理解其含义,尽管它们的长度要大一些。 3.2.采用一些更加准确的术语来命名。 例如:如果我们的用户称他们的clients为customers ,那么我们就应该用customer来命名,而不是采用client来命名。这是一些细微的地方,但也希望能注意。 3.3.采用大小写混合的方式来命名,以便命名有很好的可读性。 在JAVA代码中,将采用如下原则:类或接口命名中每个单词的首字母均大写,而单词的剩余部分均小写。其它像变量、成员方法、属性等除第一个单词全部小写以外,其它单词的首写字母均大写,而单词的剩余部分均小写。 3.4.尽量少用单词的缩写形式,但如果一定要用,则选择大家通用的缩写方式,并且要在本JAVA源代码中坚持用它,而不要一会用这种缩写方式,一会用那种 缩写方式。 比如,如果要用“number”的缩写方式,则可用“no”或“num”两种缩写方式,而不要用“nu”这种大家不常用的缩写方式,并且要保持不变。 3.5.尽量避免太长的命名,一般以少于20个字符为宜。

Java代码编写规范(参考)

命名规范: 1.所有的标识都只能使用ASCII字母(A-Z或a-z)、数字(0-9)和 下划线”_”。 2.一个唯一包名的前缀总是用全部小写的字母。 3.类名是一个名词,采用大小写混合的方式,每个单词的首字母大 写。 4.接口的大小写规则与类名相似。 5.方法名是一个动词或是动词词组,采用大小写混合的方式,第一 个单词的首字母小写,其后单词的首字母大写。 6.变量名的第一个字母小写,任何中间单词的首字母大写,变量名 应简短且可以顾名思义,易于记忆。避免单个字符的变量名,除非是一次性的临时变量。 7.常量的声明应该全部大写,每个单词之间用”_”连接。 注释规范: 1.注释尽可能使用”//”,对于所有的Javadoc的注释使用/***/,而 临时对代码块进行注释应尽量使用/**/。 2.所有的源文件都应该在开头有一个注释,其中列出文件名、日期 和类的功能概述。每个方法必须添加文档注释(main除外)。 3.每个属性必须加注释。 4.代码中至少包含15%的注释。 5.注释使用中文。

缩进排版规范: 1.避免一行的长度超过60个字符。 2.使用Eclipse源代码的格式化功能完成代码的缩进排版。 文件名规范: 1.一个Java源文件只能储存一个Java类。 2.文件名与Java类相同。 3.一个类文件不超过200行。 声明规范: 1.一行声明一个变量。 2.不要将不同类型变量的声明放在同一行。 3.只在代块的开始处声明变量。 4.所有的变量必须在声明时初始化。 5.避免声明的局部变量覆盖上一级声明的变量。 6.方法与方法直接以空行分隔。 语句规范: 1.每行至少包含一条简单语句。 2.在return语句中,返回值不使用小括号”()”括起来。 3.If月总是用{和}括起来。 4.在for语句的初始化或者更新子句中,避免因使用3个以上变量, 而导致复杂度提高。 5.当switch的一个case顺着往下执行时(因为没有break),通常 应在break语句的位置添加注释。

java类名命名规范

竭诚为您提供优质文档/双击可除 java类名命名规范 篇一:java各种命名规范 定义规范的目的是为了使项目的代码样式统一,使程序有良好的可读性。 包的命名(全部小写,由域名定义) java包的名字都是由小写单词组成。但是由于java面向对象编程的特性,每一名java程序员都可以编写属于自己的java包,为了保障每个java包命名的唯一性,在最新的java编程规范中,要求程序员在自己定义的包的名称之前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以程序员一般采用自己在互联网上的域名称作为自己程 序包的唯一前缀。 例如:net.frontfree.javagroup 类的命名(单词首字母大写) 根据约定,java类名通常以大写字母开头,如果类名称由多个单词组成,则每个单词的首字母均应为大写例如testpage;如果类名称中包含单词缩写,则这个缩写词的每个字母均应大写,如:xmlexample,还有一点命名技巧就是

由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。 例如:graphics 方法的命名(首字母小写,字母开头大写) 方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。例如:drawimage 常量的命名(全部大写,常加下划线) 常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。 例如:max_Value 参数的命名 参数的命名规范和方法的命名规范相同,而且为了避免阅读程序时造成迷惑,请在尽量保证参数名称为一个单词的情况下使参数的命名尽可能明确。 javadoc注释 java除了可以采用我们常见的注释方式之外,java语言规范还定义了一种特殊的注释,也就是我们所说的javadoc注释,它是用来记录我们代码中的api的。javadoc 注释是一种多行注释,以/**开头,而以*/结束,注释可以包含一些html标记符和专门的关键词。使用javadoc注释的好处是编写的注释可以被自动转为在线文档,省去了单独

CSS设计(代码)规范

UI设计(代码)规范 一.目录结构与命名规则 (1)目录结构规范 1、目录建立的原则:以最少的层次提供最清晰简洁的页面结构。 2、根目录一般只存放index.htm以及其他系统必须的文件 3、在根目录中应该按照系统的栏目结构,给每一个栏目开设一个目录,根据需要在每一个栏目的目录中开设一个images 和media 的子目录用来放置此栏目专有的图片和多媒体文件,如果这个栏目的内容特别多,又分出很多下级栏目,可以相应的再开设其他目录。根目录下的images用于存放各页面都要使用的公用图片,子目录下的images目录存放本栏目页面使用的私有图片 4、所有JS,ASP,PHP等脚本存放在根目录下的scripts目录 5、所有CGI程序存放在根目录下的cgi-bin目录 6、所有CSS文件存放在根目录下style目录 7、每个语言版本存放于独立的目录。例如:简体中文gb 8、所有flash, avi, ram, quicktime 等多媒体文件存放在根目录下的media目录 9、temp 子目录放客户提供的各种文字图片等等原始资料,以时间为名称开设目录,将客户陆续提供的资料归类整理。 (2)文件和目录命名规范 1、文件命名的原则:以最少的字母达到最容易理解的意义。 2、每一个目录中包含的缺省html 文件,文件名统一用index.htm 3、文件名称统一用小写的英文字母、数字和下划线的组合,不得包含汉字、空格和特殊字符

4、尽量按单词的英语翻译为名称。例如:feedback(信息反馈),aboutus(关于我们) 不到万不得已不要以拼音作为目录名称 5、多个同类型文件使用英文字母加数字命名,字母和数字之间用_分隔。例如:news_01.htm。注意,数字位数与文件个数成正比,不够的用0补齐。例如共有200条新闻,其中第18条命名为news_018.htm (3)图片的命名规范 1、名称分为头尾两两部分,用下划线隔开。 2、头部分表示此图片的大类性质。 例如:放置在页面顶部的广告、装饰图案等长方形的图片我们取名:banner ;标志性的图片我们取名为:logo ;在页面上位置不固定并且带有链接的小图片我们取名为button ;在页面上某一个位置连续出现,性质相同的链接栏目的图片我们取名:menu ;装饰用的照片我们取名:pic ;不带链接表示标题的图片我们取名:title 依照此原则类推。 3、尾部分用来表示图片的具体含义,用英文字母表示。例如:banner_sohu.gif banner_sina.gif menu_aboutus.gif menu_job.gif title_news.gif logo_police.gif logo_national.gif pic_people.jpg pic_hill.jpg. (4)css的命名规范 1,全局定义 /*{}(大括号)内为空时,除ul元素外,其他均自己定义*/ body,ul,ol,p,span,dd,dt,h1,h2,h3,h4,h5,h6{ margin:0px; padding:0px;}/*初始化元素的内联及外联*/ div{ overflow:hidden}

Java命名规范

命名规范? 本规范主要针对java开发制定的规范 项目命名? 项目创建,名称所有字母均小写,组合方式为: com.leadal.$projectName.$component.$hiberarchy。 1.$projectName:项目名称 2.$component:模块名称 3.$hiberarchy:开发层次名称 例如: com.leadal.tims.exchange.dao 类文件夹命名? ?source代码模块 ?config配置文件模块 ?test 测试模块 包命名? ?规则 o全部小写。 o标识符用点号分隔开来。为了使包的名字更易读。如 com.leadal.shanty ?常用几个包名 o dao:数据层 o service:逻辑层 o model:持久类定义包 ?实现Serializable接口,创建serialVersionUID ?主键统一用id标识,Long类型 o web:表示层及控制层 o enums:枚举类型 o config:配置文件类包 o resource:资源文件包 类文件命名?

?尽量以英文进行类定义 ?所有类都以大写字母开头 ?组合词每个词以大写字母开头,不用下划线或其他符号 ?避免使用单词的缩写,除非它的缩写已经广为人知,如HTTP 变量命名? ?第一个字母小写,中间单词的第一个字母大写 ?不用_或&作为第一个字母。 ?尽量使用短而且具有意义的单词 ?单字符的变量名一般只用于生命期非常短暂的变量。i,j,k,m,n一般用于integers;c,d,e一般用于characters ?如果变量是集合,则变量名应用复数。 String myName; int[] students; int i; int n; char c; btNew; (bt是Button的缩写) 常量命名? ?所有常量名均全部大写,单词间以‘_’隔开 int MAX_NUM; 方法命名规则? ?规则 o第一个单词一般是动词。 o第一个字母是小些,但是中间单词的第一个字母是大写。

安全代码编写规范

安全代码编写规范 一、编写目的 为加强武汉楚烟信息技术有限公司在软件开发中的安全规范要求,减少应用上线后带来潜在的安全风险,特拟定安全代码编写规范。二、使用范围 本规范适用于武汉楚烟信息技术有限公司承建的各类开发类的软件类项目。 三、应用安全设计 在总体架构设计阶段,需明确与客户方沟通确认甲方对于软件安全的相关要求,对于有明确安全要求的(例如授权管理要求、用户认证要求、日志审计要求等),须在设计文档中予以详细说明。对于互联网应用,务必明确网络安全、应用安全、数据安全相关的安全防护手段。 在技术架构上,应采用表现层、服务层、持久层分类的架构,实现对底层业务逻辑进行有效隔离,避免将底层实现细节暴露给最终用户。 在部署架构上,应采用应用服务器、数据库服务器的分离部署模式,在应用服务器被攻击时,不会导致核心应用数据的丢失。如软件产品具备有条件时,应优先采用加密数据传输方式(例如https协议)。 在外部接口设计方面,应采用最小接口暴露的原则,避免开发不必要的服务方法带来相关安全隐患,同时对于第三方接口,应共同商定第三方接入的身份认证方式和手段。

四、应用安全编码 4.1. 输入验证 对于用户输入项进行数据验证,除常见的数据格式、数据长度外,还需要对特殊的危险字符进行处理。特殊字符包括<> " ' % ( ) & + \ \' \"等 对于核心业务功能,除在客户端或浏览器进行数据验证外,还必须在服务器端对数据进行合法性检验,规避用户跳过客户端校验,直接将不合规的数据保存到应用中。 对于浏览器重定向地址的数据,需要进行验证核实,确认重定向地址是否在可信,并且需要对换行符(\r或\n)进行移除或者替换。 4.2. 数据输出 对需要输出到用户浏览器的任何由用户创造的内容,应在输出到浏览器之前或持久化存储之前进行转义(至少对<>转义为< >)以防止跨站攻击脚本(XSS)。对于无法规避的HTML片段提交,需对