代码编写规范V100.docx
- 文档编号:11623478
- 上传时间:2023-03-29
- 格式:DOCX
- 页数:32
- 大小:49.75KB
代码编写规范V100.docx
《代码编写规范V100.docx》由会员分享,可在线阅读,更多相关《代码编写规范V100.docx(32页珍藏版)》请在冰豆网上搜索。
代码编写规范V100
代码编写规范
文件编号:
CP/B05-C05
版本号:
V1.0.0
受控状态:
受控
发放号:
编制部门:
统计项目部/研发中心/OA项目部
编制人:
王亚玲/杨红红/何伟编制日期:
2005年6月8日
审核人:
孙丕石审核日期:
2005年6月30日
批准人:
臧志斌批准日期:
2005年7月1日
北京中电普华信息技术有限公司发布
变更记录
序号
修改条款
修改单号
页号
修改人/日期
批准人/日期
实施日期
注:
对该文件内容增加、删除或修改均需填写此变更记录,详细记载变更信息,以保证其可追溯性。
SilverStream平台开发规范
1.总则
1.1编写目的
定义这个规范的目的是为了项目组内编写的代码统一、增加可读性、可维护性。
1.2编写说明
本规范仅对SilverStream平台中用到的编码进行规范,对于该平台中用到的基本Java编码规范J2EE的规范请参照Java的编码规范与J2EE规范。
2.界面开发规范
2.1总体原则
1.以用户为中心。
设计由用户控制的界面,而不是界面控制用户。
2.楚一致的设计。
所有界面的风格保持一致,所有具有相同含义的术语保持一致,且易于理解。
3.较快的响应速度。
4.简单且美观。
5.提示信息必须恰当且规范。
2.2form界面
1.根Form大小为800x600,子孙Form一般为780x460,个别的可按需要调整。
2.颜色采用form的默认色。
3.布局:
重要信息(如时间)写在左上部(如果较短的话),与下部的View左对齐;指标单位放在右上部,与前者在同一水平线上,与下部的View右对齐;Choice、List与Button等部件放在中上部,整体上左右居中,在水平上高于前两者,(Button顺序从左到右大致为:
增加、删除、取数、计算、平衡检测,……,保存、打印、退出,按钮间距为0,位于同一水平线);中下部放View、formulaone控件,左右居中。
可以根据form大小的调整自动重新排列。
2.3提示信息:
“提示信息”要根据不同的要求进行提示,以下几种方式给出。
agDialog.showMessage()
agDialog.showMessageYesAllNoCancel()
agDialog.showMessageYesNo()
agDialog.showMessageYesNoCancel()
agDialog.showMessageOKCancel()
标签为“提示信息”;提示内容要要简练、明确;以“!
”、“?
”或“。
”标点符号结尾。
●错误信息
“错误信息”是以agDialog.showMessage("错误信息","……Err="+e)方式给出的。
●示例:
agDialog.showMessageYesNo("提示信息","数据已改变,是否保存?
");
agDialog.showMessage("错误信息","formLoaded()Err="+e);
2.4鼠标指针
操作时间在1-2s时不改变鼠标指针;其余都要设置鼠标指针为忙的状态。
超过5分钟的要提示用户这个操作时间可能较长;如果时间更长的情况下,考虑将一个功能分为几步来实现。
2.5view、AgcView格式
1.类型:
云彩类型,去掉背景图形。
Band->Columnborder为3DLine。
2.表头
Transparent=true,SansSerif/12/Normal字体,上下左右居中,个别字段可多行。
3.表身
Transparent=true,SansSerif/12/Normal字体,对于日期型字段、数值型字段要重新设置显示格式,居右;对于字符型要居左;对于日期型字段;当出现备注型说明字段时,最好能设置为可折行显示。
2.6Button按钮
字体SansSerif/14,按钮大小65*24,常用词有增加、删除、保存、退出、打印、修改、计算、取数、汇总、制表信息、平衡检测等。
注意文字之间尽量不要使用空格。
2.7Label标签
字体SansSerif,字号根据需要调整。
2.8Tree控件
字体SansSerif/14,Tree常常是分层次的,每层都有若干结点,在每个结点前最好能放置一个图标,同层结点的图标相同,不同层结点的图标相异,图标可从media->images里的SmallImgIcons.gif中获得。
2.9FormulaOne报表格式
字体,SansSerif/9、左右开口,字符数据居左、数据居右。
单个sheet的报表不显示tab项。
注:
对于不同的用户要求的格式可能有差别,故这部分要根据实际情况而定。
3.SilverStream平台代码规范
3.1命名规范
控件
前缀
示例
Label
lbl
lblOrderdate
TextField
fld
fldProductName
TextArea
ta
taProductDesc
HTMLEditControl
html
htmlResume
ListBox
lb
lbTitles
ChoiceBox
ch
chStateID
ComboBox
cb
cbTitles
CheckBox
chk
chkUSCitizen
Dialogbox
dlg
dlgAddUsersToGroup
RadioButton
rb
rbActive
TextButton
btn
btnNext
ImageButton
btn
btnSave
Image
img
imgOrderHeader
Rectangle
rct
rctPersonalInfo
Tab
tab
tabMaintenance
Slider
sld
sldVolume
SpinControl
spin
spinDaysOff
Fileattachment
attch
attchSales
Form
frm
frmEmployees
subform
frm
frmSecurity
View
vw
vwSalaries
Page
Pg
pgOrders
Businessobject-blankclass
bo
boMonthlyReport
Businessobject-mail
boMail
boMailSendNews
Businessobject-tablemodified
boTbl
boTblRegistration
Businessobject-scheduled
boSchd
boSchdMonthlySummary
Businessobject-serverevent
boSrvevt
boSrvevtRegister
Businessobject-invoked
boInv
boInvValidate
Businessobject-datasourceobject
boDso
boDsoNotesData
Businessobject-servlet
boSrvlet
boSrvletHRApp
3.2form、bo、page之参数的传递
由于这几类对象之间一般传递的为序列化的对象,调用方式基本相同,要求在传入参数、返回结果都要求用Hashtable,原因为hashtable易于增加参数,从而不改变调用的接口,
返回时,要在Hashtable中增加一个result的key,以”success”或”fail”+e为值的一项,用于确定执行结果是否正确。
示例:
●要求:
frmSample调用一个BOboInvSample
传入参数dept_code、year、month,返回结果value1
●实现:
form中实现代码:
HashtablehtParm=newHashtable();
htParm.put(“year”,”2005”);
htParm.put(“month”,”1”);
htParm.put(“deptCode”,”11010111”);
HashtablehtResult=(Hashtable)……invokeBusinessObject(“boInvSample”,htParm);
bo中的实现代码:
HashtablehtResult=newHashtable();
获得参数
try{
……
……
htResult.put(“value1”,”33333”);
htResult.put(“result”,”success”);
}catch(Exceptione){
htResult.put(“result”,”fail”+e)
}finally{
evt.setResult(htResult);
}
3.3注释
1.对于文件头、类成员变量(全局变量)、方法的说明按照Java的编码规范执行。
2.对于新编写的程序要求的方法的调用、控制结构处以及在一些算法处增加注释。
3.对于修改的程序,要求修改者在修改处注明yyyy/mm/dd****修改,简要地注明原因。
示例:
/**2006/06/08曹占峰增加了一个用户可以拥有多个权限*/
3.4调试
调试在软件开发中是一个很重要的部分,存在软件生命周期的各个部分中。
调试能够用配置开、关是最基本的。
要求在类(SilverStream中的form、bo、page)中设置调试开关变量,
finalstaticbooleanDEBUG_ON=true
在程序的必要部位增加
if(DEBUG_ON)
System.out.println(……);
以方便调试。
同时在catch中增加堆栈跟踪
e.printStackTrace();
以方便确定错误。
尽量用
try{
}catch(……){
}finally{
}
3.4性能
1.在写代码的时候,从头至尾都应该考虑性能问题。
这不是说时间都应该浪费在优化代码上,而是我们时刻应该提醒自己要注意代码的效率。
2.不必要的对象构造
不要在循环中构造和释放对象。
3.在程序中写sql语句时,一定要注意SQL语句的优化:
●理解SQL语句的处理顺序,ORACLE为从右向左扫描,所以在写多表连接的语句时,应将记录少的表放到右边。
Where条件中能句一次过滤大量记录的条件放到右边,以加快查询速度。
●有效使用索引。
●尽量少用条件子句与in语句。
PowerBuilder程序开发规范
1.总则
1.1编写目的
本文档目的是为了大家在使用PowerBuilder开发程序时编写的代码统一、界面一致,增加程序的可读性、可维护性。
2.界面规范
2.1总体原则
1.以用户为中心。
设计由用户控制的界面,而不是界面控制用户。
2.清楚一致的设计。
所有界面的风格保持一致,所有具有相同含义的术语保持一致,且易于理解。
3.较快的响应速度。
4.简单且美观。
2.2窗口
1.窗口颜色通常采用灰色(BottonFace)。
2.响应式窗口(Response)大小应该固定,且显示在屏幕的中央位置。
3.Tab键的顺序与控件排列顺序要一直,目前流行总体从上到下,同时行间从左到右的方式。
4.按钮通常位于窗口的底部。
2.3菜单
1.常用菜单要有命令快捷方式。
2.完成相同或相近功能的菜单用横线隔开放在同一位置。
3.菜单深度一般要求最多控制在三层以内。
4.右键快捷菜单采用与菜单相同的准则。
2.4按钮
306×96;宋体9号黑色普通。
2.5数据窗口
1.对于数值型字段的数据,应该采取右对齐方式,同时注意小数位的统一,避免出现同一列中各行的数据小数位数不一致。
其它的类型通常采取左对齐方式。
2.字段的标题文字通常采取居中的对齐方式。
3.提供常用的编辑格式,方便用户的输入。
4.日期型数据的格式要统一。
2.6提示信息
1.尽可能避免系统缺省的错误信息出现,因为这些信息本身没有汉化,而且过于专业化,用户不易理解。
2.口语化、客气、多用您、请,不要用或少用专业术语,杜绝错别字。
3.警告、信息、错误使用对应的表示方法。
4.对于时间比较长的操作,一定要显示等待画面或者进度条。
对于时间超过5分钟的,操作结束后应该给予操作完成提示信息。
3.命名规范
下面所有命名规范中的“name”通常为英文单词或者单词缩写,用来描述对象的名称,功能等。
如果英文单词描述确实过于复杂,可以使用拼音字头缩写。
例如:
主窗口的命名为:
w_main。
3.1系统对象
对象名称
命名规则
窗口(WINDOW)
w_name
菜单(MENU)
m_name
用户对象(USEROBJECT)
uo_name
结构体(STRUCTURE)
s_name
函数(FUNCTION)
f_name
数据窗口(DATAWINDOW)
d_name
普通数据窗口下拉式数据窗口(用于DropDwonDatawindow)
dddw_name(d_lst_name)
管道(PIPELINE)
Pip_name
注:
系统对象一定要在其属性-注释中进行描述,如下图所示:
3.2窗口控件
控件名称
命名规则
命令按钮(COMMANDBUTTON)
cb_name
图形按钮(PICTUREBUTTON)
pb_name
复选框(CHECKBOX)
cbx_name
单选框(RADIOBOX)
rb_name
静态文本(STATICTEXT)
st_name
图片(PICTURE)
p_name
分组框(GROUPBOX)
gb_name
线条(LINE)
ln_name
单行编辑框(SINGLELINEEDIT)
sle_name
格式编辑框(EDITMASK)
em_name
多行编辑框(MULTILINEEDIT)
mle_name
RICHTEXTEDIT控件(RICHTEXTEDIT)
rte_name
水平滚动条(HSCROLLBAR)
hsb_name
竖直滚动条(VSCROLLBAR)
vsb_name
下拉列表框(DROPDOWNLISTBOX)
ddlb_name
下拉图形列表框(DROPDOWNPICTURELISTBOX)
ddplb_name
列表框(LISTBOX)
lb_name
图形列表框(PICTURELISTBOX)
plb_name
ListView控件(LISTVIEW)
lv_name
TreeView控件(TREEVIEW)
tv_name
Tab控件(TAB)Tab页
tab_nametabpage_name
数据窗口控件(DATAWINDOW)
dw_name
图形控件(GRAPH)
gr_name
OLE控件
ole_name
用户对象控件(USEROBJECT)
uo_name
3.3变量
变量类型
命名规则
布尔型变量(BOOLEAN)
Xb_name
字符型变量(CHAR)
Xc_name
日期型变量(DATA)
Xd_name
日期时间型变量(DATATIME)
Xdt_name
小数型变量(DECIMAL)
Xdec_name
双精度浮点型变量(DOUBLE)
Xdou_name
整型变量(INTEGER)
Xi_name
长整型变量(LONG)
Xl_name
实型变量(REAL)
Xr_name
结构体变量(STRUCTURE)
Xstr_name
字符串型变量(STRING)
Xs_name
时间型变量(TIME)
Xt_name
无符号整型变量(UINT)
Xui_name
无符号长整型变量(ULONG)
Xui_name
说明:
对于变量的命名规则中的X:
全局变量(GLOBALVAR)X用g替换
实例变量(INSTANCEVAR)X用i替换
共享变量(SHAREDVAR)X用s替换
局部变量(LOCALVAR)X用l替换
3.4常量
一律使用大写,中间以“_”分开,如:
ERROR_TYPE。
4.代码规范
4.1程序风格
1.程序要有良好的缩进格式,要用缩进显示代码的层次和从属关系。
缩进时应使用TAB而不用空格。
通常在PB中书写If,Choosecase,Do….Loop等结构的代码时,PB会自动的进行缩进。
2.运算符(+,-,*,/…)及赋值动词(=)的前后应加上一个空格,并且函数的参数表中的每个变量前面也要加入一个空格。
如:
li_count=li_count+1
f_GetAttrib(id,name,date)
3.内嵌式SQL语句保留字全部大写:
INSERT,SELECT…。
4.一行代码的最大长度应该小于屏幕的宽度,这样不至于脱动水平滚动条才能看清楚一行代码。
因此,应该将一行过长的代码用连接标记“&”转为多行来书写。
5.一个函数或者事件内的代码行数不应该过多,应该控制在300行左右。
否则,程序的可读性、可维护性将很差。
6.删掉从来没有用过的函数或变量,大篇幅注释掉的代码行也应删除,以免使程序混乱难读。
4.2代码注释
代码注释的目的是增加代码的可读性,便于维护。
因此,注释是程序中不可缺少的组成部分。
一般要遵循下面的原则来加入注释。
1.注释必须使用中文及中文的标点符号。
2.程序段或语句的注释在程序段或语句的上一行,格式如下:
3.//功能,作者,日期
4.对于功能复杂的事件、函数一定要在代码开始的地方按照下面的模版进行注释:
///////////////////////////////////////////////////////////
//Functions[功能与用途]:
//Parameters[参数]:
//参数类型参数名称
//参数意义
//ReturnValue[返回值]:
//AmendmentHistory[修改历史]:
//修改时间修改次数修改人
//RelativeFunctions[相关函数]:
//////////////////////////////////////////////////////////////
5.如果要修改以前的程序,则要在修改的地方进行注释,格式如下:
//修改原因,修改人,修改日期。
Java/J2EE代码编写规范
1.总则
1.1目的
本规范主要目的是定义公司基于java/J2EE编码的总体规范,确保编码的规范性,提高程序的可维护性。
通过遵循共同的编码规范,程序开发人员可以保持代码一贯的风格,提高代码编写的可读性和使用的一贯性。
1.2范围
适用于中电普华公司的所有Java开发人员,包括网页及应用程序开发人员。
1.3总体原则
在程序开发的过程中应当遵循以下几条总体原则:
1、保证程序的正确性,然后要考虑程序的简洁、可读性和可重用性;
2、保证程序结构清晰,单个函数的程序行数一般不超过500行;
3、注释行数一般应占总行数的1/5到1/3。
2.JSP/Html规范
2.1页面规范
2.1.1兼容性
尽量使用主流浏览器共有的DHTML特性,尽量少用某种浏览器特有的属性或方法,如果用了特有属性,在用户浏览器不支持的情况下应能给出友好提示。
2.1.2公用部分
如页面头、脚,导航条等应使用统一风格,相同内容只允许存在一个源码,使用包含方式,以便于维护。
2.1.3窗口和尺度
所有窗口应居屏幕中央,弹出式窗口尽量也在屏幕中央。
尺度以1024×768为基准。
在800*600下应进行测试。
2.2jsp/html命名规范
jsp与htm遵循如下的规范:
2.2.1页面命名
数据/内容显示页的命名要求能说明显示内容的信息,多个单词之间建议用下划线分隔。
为避免冲突,可加上“_list”,”_show”等修饰。
例如:
new_message.html、file_list.jsp、empinfo_show.jsp等。
操作处理页建议用名词+下划线+动词的格式命名,例如file_delete.jsp、file_update.jsp等。
2.2.2javascript脚本方法
脚本函数的命名一般应能反应该该函数的功能。
模块通用的脚本函数建议集合于一个js文件中,在页面上通过
js文件名命名使用模块名,例如:
ebwebmail.js。
如果项目已经提供了公共js脚本,则建议优先使用公共js脚本中提供的函数。
所有定义方法的
copyright@ 2008-2022 冰点文档网站版权所有
经营许可证编号:鄂ICP备2022015515号-1