绩效考核J编码规范附考核内容.docx

上传人:b****8 文档编号:29805802 上传时间:2023-07-27 格式:DOCX 页数:16 大小:42.45KB
下载 相关 举报
绩效考核J编码规范附考核内容.docx_第1页
第1页 / 共16页
绩效考核J编码规范附考核内容.docx_第2页
第2页 / 共16页
绩效考核J编码规范附考核内容.docx_第3页
第3页 / 共16页
绩效考核J编码规范附考核内容.docx_第4页
第4页 / 共16页
绩效考核J编码规范附考核内容.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

绩效考核J编码规范附考核内容.docx

《绩效考核J编码规范附考核内容.docx》由会员分享,可在线阅读,更多相关《绩效考核J编码规范附考核内容.docx(16页珍藏版)》请在冰豆网上搜索。

绩效考核J编码规范附考核内容.docx

绩效考核J编码规范附考核内容

 

(绩效考核)J编码规范(附考核内容)

Java编码规范

 

修订历史记录

日期

版本

说明

作者

审核人

2011-7-11

0.0.1

对Java代码风格、注释、命名、声明等规范进行描述

黎建宁

2011-8-5

0.0.2

根据征询意见对Java编码规范进行修订

黎建宁、冯彬杰、张史沛、李思行

2011-8-16

0.0.3

对规范中出现模糊定义的地方进行细化描述

黎建宁

2011-9-13

0.0.4

根据编码的约定情况,对注释、声明部分进行了补充

黎建宁、李思行

2011-9-20

0.0.5

对方法的声明顺序进行补充

黎建宁、李思行

壹简介

1目的

本规范的目的是使开发人员以标准的、规范的方式编写代码,养成良好的编码风格和习惯,形成公司内部编码约定,提高程序的可读性,可维护性以及壹致性,同时减少项目组成员间技术沟通成本,提高团队开发效率。

2范围

1、本文档基于Java1.5的语法描述编码规范。

2、本文档从代码风格、注释、命名、声明以及异常处理等五个方面对Java编码进行约定。

3、本规范适用于所有运用Java技术的软件项目、产品。

4、本规范适用的文件类型包括但不限于Java源文件、JSP文件、XML文件、HTML文件、JS文件以及AS文件。

5、本规范建议采用统壹的CodeStyle以及Formatter风格,通过IDE进行配置。

3读者范围

1、软件过程改进领导小组以及工作小组所有人员;

2、所有运用Java技术的软件项目、产品的关联领导、项目负责人、设计人员、开发人员以及测试人员。

3、所有涉及运用Java技术的软件项目、产品的关联人员。

二代码风格

1缩进

1、使用空格代替Tab缩进,避免各种编辑器中见到不壹样的代码格式。

【注:

强制执行,Eclipse可辅助排版】

2、代码按层级缩进,每层级缩进4个字符(对于特定格式文件,能够按照实际进行调整,如XML文件可缩进2个字符),所有“{}”块内容均应该进行缩进。

【注:

强制执行,Eclipse可辅助排版】

参考例子:

2括号

1、除数组的初始化定义外,“{}”中的语句应单独作为壹行。

【注:

强制执行,Eclipse可辅助排版】

2、左括号“{”可根据开发习惯是否换行存放,如果换行存放,必须和其前导语句首字符对齐,右括号“}”必须作为单独壹行存放且且和匹配行对齐(即左括号前导语句首字符)。

【注:

强制执行,Eclipse可辅助排版】

3、于项目内部,相同类型的文件,其括号的风格必须统壹。

【注:

强制执行,Eclipse可辅助排版】

参考例子:

 

3空格

1、操作符俩端必须带有空格符。

【注:

强制执行,Eclipse可辅助排版】

参考例子:

2、各且行元素(如函数参数)间以空格符隔开,空格符放于逗号后方。

参考例子:

【注:

强制执行,Eclipse可辅助排版】

3、无特别要求,括号“{}”、“[]”、“()”左右方尽量不要增加无必要性的空格符。

【注:

强制执行,Eclipse可辅助排版】

参考例子:

 

4空行

1、同壹个编译单元间(包定义、导入声明、类)应以空行相隔。

参考例子:

【注:

强制执行,Eclipse可辅助排版】

2、类定义内部各元素间(字段定义、方法)应以空行相隔。

参考例子:

【注:

强制执行,Eclipse可辅助排版】

3、同壹方法内实现不同的功能之间应以空行相隔。

【注:

强制执行】

4、不能无理由出现大片空行。

【注:

强制执行】

5控制语句

1、对于循环控制等元素块,不管是否带有body,均应该以{}包含。

参考例子:

【注:

强制执行】

 

6行宽

1、每行代码尽量控制行宽于100字以内,当超出100字时候,代码应当进行缩进。

【注:

非强制执行,属加分项】

2、方法的缩进应当保证参数对齐。

【注:

非强制执行,属加分项】

参考例子:

3、对于过长的SQL/HQL语句,则采用关键字对齐方式,具体可通过PL/SQL等工具进行代码的格式化。

【注:

非强制执行,属加分项,附带《sql规范》壹且考核】

参考例子:

 

7类、函数

1、每个函数的代码长度应尽量控制于50行以内(不包含注释),如果函数功能过于庞大,可把独立的功能段单独抽取出来作为子函数。

【注:

非强制执行,属加分项】

2、每个类的代码长度应尽量控制于1000行以内(不包含注释),如果类功能过于庞大,可通过组合的方式来分解类。

【注:

非强制执行,属加分项】

三注释

1基本原则

1、注释目的于于增加代码清晰度,使代码易于被其他开发人员理解。

【注:

强制执行】

2、保持注释简洁,禁止为了注释而注释。

【注:

强制执行】

3、注释除带有代码功能外,仍应带有描述上下文意图,具体描述其原因。

4、除变量定义等较短语句的注释可用行尾注释外,其他注释当避免使用行尾注释。

5、对描述较长的注释,应当使用HTML标记进行格式化,便于生成的JavaDoc易阅读和理解。

【注:

强制执行】

2文件、包

1、文件、包头部应当带有注释,描述其功能、作用、作者、创建时间、修改历史等信息。

【注:

非强制执行,属加分项】

参考例子:

 

3类、接口

1、对类、接口的注释应当符合JavaDoc规范。

【注:

强制执行】

2、类、接口定义必须标记功能、作用、作者、时间。

【注:

强制执行】

3、当代码基线定义后,后续维护中新增的方法或字段于类、接口声明头部中应当添加修订记录,注明时间、原因以及作者。

【注:

非强制执行,属加分项】

参考例子:

 

4方法

1、对方法的注释应当符合JavaDoc规范。

【注:

强制执行】

2、方法定义应带有功能、作用、执行条件(如果有)、参数,对于复杂功能的方法,应当带有例子描述。

【注:

功能、作用、执行条件(如果有)、参数属强制执行;例子描述属非强制执行,属加分项】

3、每个方法中含有的参数以及返回值应当描述其类型、作用、值的范围,对方法的影响。

【注:

强制执行】

4、当方法抛出自定义的受控异常(CheckedException,不含工具、框架抛出的异常)时,必须对异常产生的原因进行描述,便于调用者捕捉。

【注:

强制执行】

参考例子:

5、对规范中约定的方法,如回调方法、getter/setter方法,只要遵守其命令约定,均不需要编写注释。

【注:

非强制执行】

参考例子:

 

6、如果方法内部涉及复杂的算法、关键步骤或难以理解的语句,应当添加注释标明其含义。

【注:

非强制执行,属加分项】

7、对于超过壹行注释,必须采用“/**/”进行标注,而单行注释可采用“//”标注。

【注:

强制执行】

 

5变量

1、全局变量、静态变量、类中的字段应当带有注释。

【注:

强制执行】

参考例子:

 

2、对规范中约定的变量,如注入对象(如Service、DAO),通讯对象(如RemoteObject),只要遵守其命令约定,均不需要编写注释。

【注:

非强制执行,属加分项】

参考例子:

 

3、对于方法内部产生的临时变量,应当尽量添加注释,标明其中的作用。

四命名

1基本原则

1、文件,类,函数,变量,命名必须采用可准确表达其意义的英文单词。

2、命名不能和关键字相同。

【注:

强制执行】

3、尽量避免使用出现误解的词汇。

4、不允许使用拼音命名,全部使用英文单词或缩写命名。

【注:

强制执行】

2文件、包

1、文件名第壹字母应大写。

【注:

强制执行】

2、文件名应尽量描述该文件作用。

【注:

非强制执行,但采用拼音命名需扣分】

3、文件名应使用名词或形容词+名词。

【注:

强制执行】

4、包名壹般以项目或模块名进行命名,采用小写。

【注:

强制执行】

5、包名组成规则[基本包].[项目名].[模块名].[子模块名]...【注:

强制执行】

参考例子:

6、禁止把类直接定义于默认包下。

以下行为必须禁止:

【注:

强制执行】

 

3类、接口

1、类、接口名第壹字母应大写。

【注:

强制执行】

2、类名应尽量描述该类作用。

【注:

强制执行】

3、类名应使用名词或形容词+名词。

【注:

强制执行】

4、如果需要用到多个单词表达其意义,每个单词第壹个字母必须用大写标识。

【注:

强制执行】

参考例子:

5、类名不使用下划线。

【注:

强制执行】

6、如果用到某些特定名词作为类名,应保持该特定名词,如“ADOHelper”。

【注:

强制执行】

7、接口的第壹个字母应为“I”,其他命名规则和普通类名相同。

【注:

强制执行】

8、对于DAO类,其命名规则为:

名词+“DAO”,对于应用服务类,其命名规则为:

名词+“Service”。

【注:

强制执行】

9、如果类为持久类,需要和数据库表进行绑定的,其命名于忽略前缀以及下划线等特殊字符的情况下,应和数据库表名保持壹致。

【注:

强制执行】

以下行为必须禁止:

 

4字段

1、字段名第壹字母应小写。

【注:

强制执行】

2、字段名应尽量描述该字段的作用。

【注:

强制执行】

3、字段名应使用名词或形容词+名词。

【注:

强制执行】

4、如果需要用到多个单词表达其意义,除第壹个字母外,每个单词第壹个字母必须用大写标识。

【注:

强制执行】

5、如果字段所于类为持久类,需要和数据库表进行绑定的,其命名于忽略前缀以及下划线等特殊字符的情况下,应和数据库字段名保持壹致。

【注:

强制执行】

5方法

1、方法名第壹字母应小写。

【注:

强制执行】

2、方法名应尽量描述该方法的作用。

【注:

强制执行】

3、方法名应使用“动词+名词”形式命名。

【注:

强制执行】

4、如果需要用到多个单词表达其意义,除第壹个单词外,其他单词第壹个字母必须用大写标识。

【注:

强制执行】

5、对于常用的DAO查询方法,方法应当表明方法出处、数据的来源以及查询依据。

如getOrderListByCustomer方法根据顾客获取订单列表,此方法由Order模块提供而不是Customer模块。

【注:

(1)强制执行,但条件定义为非强制执行,即getOrderListByCustomer中的ByCustomer为非强制执行】

6、回调方法应使用“Callback”作为方法后缀,如非特殊回调方法,可采用“调用方法+Callback”命名规则,如login方法回调,其方法命名为loginCallback。

【注:

强制执行】

7、Flex各种事件,采用“on”作为方法前缀命名,如非特殊事件,可采用“on+方法名”命名规则,如createComplete事件中,其方法命名为onCreateComplete,如果存于多个相同的事件,采用“on+组件ID+方法名”命名规则。

【注:

强制执行】

6变量

1、变量名第壹字母应小写。

【注:

强制执行】

2、变量名应尽量描述该变量的作用。

3、变量名壹般使用“形容词+名词”或单个名词,布尔变量应使用含有“判断意义的单词+名词”,例如判断是否已关闭的变量:

booleanisClosed,禁止声明类似aaa、bb无法定义、理解的变量。

【注:

强制执行】

4、如果需要用到多个单词表达其意义,除第壹个单词外,其他单词第壹个字母必须用大写标识。

【注:

强制执行】

5、用于for循环的局部变量可使用i等单个字母。

【注:

非强制执行】

7常量

1、常量名应尽量描述该常量的作用。

【注:

非强制执行,但采用拼音命名需扣分】

2、常量名壹般使用“形容词+名词”或单个名词。

【注:

强制执行】

3、如果需要用到多个单词表达其意义,单词间应通过“_”分割。

【注:

强制执行】

参考例子:

 

8组件变量

1、组件变量符合变量命名规则。

【注:

强制执行】

2、组件变量名壹般采用组件前缀+变量名命名。

【注:

强制执行,表单内的组件变量非强制执行】

3、壹般情况下,组件前缀可采用组件缩写(见本章第9节Flex命名约定表)或全名表示,但对于过长的组件命名,建议采用缩写标识。

(新增的必须执行)【注:

强制执行,因考虑其对旧项目的改动性太大,故该考核只针对新增的代码模块,其中Flex命名约定表里的组件若需要缩写标识,则必须是Flex命名约定表中对应的缩写标识】

4、对于某些显示数据库字段的控件,其变量名应对应数据库字段名。

【注:

强制执行】

9附Flex命名约定表

组件全名

组件名称缩写

Controls类:

AdvancedDataGrid

adg

Alert

al

Button

btn

CheckBox

chk

ColorPicker

crp

ComboBox

cmb

DataGrid

dg

DateChooser

dc

DateField

df

HSlider

hsl

HorizontalList

horlst

Image

img

Label

lbl

LinkButton

lnkbtn

List

lst

NumericStepper

ns

OLAPDataGrid

odg

PopUpButton

pub

PopUpMenuButton

pumb

ProgressBar

prg

RadioButton

rdo

RadioButtonGroup

rdog

RichTextEditor

rtx

SWFLoader

swfl

Text

tx

TextArea

txa

TextInput

txi

TileList

tlt

Tree

tre

VSlider

vsl

VideoDisplay

vdp

Layout类:

ApplicationControlBar

acb

Canvas

cvs

ControlBar

ctb

Form

fm

FormHeading

fmh

Grid

gd

HBox

hb

HDividedBox

hdb

Hrule

hr

ModuleLoader

mdl

Panel

pnl

Spacer

spc

Tile

til

TitleWindow

tilw

VBox

vb

VDividedBox

vdb

VRule

vr

Navigators类:

Accordion

aod

ButtonBar

btnb

LinkBar

lkbr

MenuBar

mnb

TabBar

tab

TabNavigator

tbn

ToggleButtonBar

tbb

ViewStack

vsk

Charts类:

AreaChart

arec

BarChart

barc

BubbleChart

bubc

CandlestickChart

canc

ColumnChart

colc

HLOCChart

hlocc

Legend

lgd

LineChart

linc

PieChart

piec

PlotChart

ploc

自定义组件

根据基础组件进行自定义组合

注意:

基于约定优于配置原则,若规范中定义的命名规则和组件约定的规则存于冲突,以组件约定的规则为优先。

参考例子:

五声明

1类、接口

1、可见性必须显式声明。

【注:

强制执行】

2方法

1、可见性必须显示声明。

【注:

强制执行】

2、尽可能减少类和类之间耦合,尽量限制成员函数的可见性(不要扩大其可见范围)。

【注:

非强制执行,属加分项】

3、如果存于多个参数,按照功能的相似性,应放到壹齐。

【注:

强制执行】

4、对于同样可见性的方法,按照功能的相似性,应放到壹齐。

(如as中应当将事件、回调方法、引用方法区分存放)。

【注:

强制执行】

5、对于重载的方法,按参数的个数,从少到多排序。

【注:

强制执行】

6、方法按照其属性以及可见性,按以下顺序排序:

构造方法、静态公共方法、静态私有方法、受保护方法、私有方法、以及继承自Object的方法(as代码按照实际情况进行调整)。

【注:

强制执行】

7、方法的声明顺序按照以下优先级声明:

功能相似性---》可见性---》参数个数

列子:

publicvoidsaveUser(Useruser)

publicvoidsaveUser(Useruser,LongorgId)

publicvoidsaveUsers(Listuser,LongorgId,LongstationId)

privatevoidsaveUsers(Listuser)

【注:

强制执行】

3字段

1、不要把字段声明为公有,应当设置为私有,通过getter以及setter访问(仅针对Java)。

【注:

强制执行】

2、非同级变量不能使用壹样或者相近的名字。

如five、fine。

【注:

强制执行】

3、变量按照其属性以及可见性,按以下顺序排放:

常量、类变量、实例变量、公有字段、受保护字段、私有字段、能够将私有变量声明于类或接口的最后(as代码按照实际情况进行调整)。

【注:

强制执行】

4、字段应通过this、super显式调用。

【注:

强制执行】

4变量

1、方法中的变量于声明时必须带有初始值,对于无法初始化的变量,可定义为null(不含字段)。

【注:

强制执行】

2、变量应于其使用时进行定义,减少变量作用域以及作用范围,禁止变量定义后没有使用。

【注:

非强制执行,但出现定义的变量没有使用这种情况,需要扣分】

六异常处理

1、凡涉及到创建实例,使用数据库对象,使用事务对象,使用COM+对象,使用线程对象,操作网络连接等代码,均应使用“try-catch”对或throws命令。

【注:

强制执行】

2、凡涉及代码可能抛出异常的,均应使用“try-catch”对或throws命令。

【注:

强制执行】

3、捕捉CheckedException类异常(直接集成自Exception)时,必须输出详细错误信息,如堆栈信息,且进行日志记录。

【注:

强制执行】

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动物植物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1