当前位置:文章写作网 >日记 >日记 >xx软件公司产品开发代码规范-8-9

xx软件公司产品开发代码规范-8-9

2008-01-08 13:44 作者:泥人 阅读量:3577 推荐2次 | 我要投稿

8、实现区规范

A、事件、过程、函数应按主题分类归集在一起,每个主题开始的第一行用{}注释该类主题。约定归类方法如下:同一个元件的事件应归集在一起,被事件调用或与之相关系的函数或过程应紧跟在该事件之后,函数、过程、方法之间如存在调用关系也应归集在一起,除非该函数、过程被多处调用。被多处调用的单元内部函数、过程应归集在单元的公共过程主题内。可以自定义归类方法,比如按实现功能归类,但如归类方法不同于本约定的,应在所有主题之前用{}注释说明归类方法。

B、每一个事件、方法必须在其代码前用{}注释说明名称、描述、参数含义、创建时间、作者、更新人、更新时间。在事件、方法内部不同含义的算法或不同主题的代码间空一行,每段算法或主题的开始用{}注释算法或主题的目的。关键性的算法行应在行末用//注释算法目的。事件、方法内部的变量定义时必须遵行2.3.3约定的变量区规范。

C、SQL 语句书写规则:在SQL语句中,所有SQL保留字统一用大写,所有字段名以及数据表名全部用小写,SELECT, FROM, WHERE, ORDER BY 顶格起行,各子句中要求每个字段或每个条件或每个关联单独起行. 并缩进对齐,缩进以两格为准。示例如下:

strMasterSql :=

' SELECT preload.*, ' +

' codelib.codename vesselname' +

' blstatus = CASE blstatusid WHEN “1” THEN “订舱” ' +

' WHEN “2” THEN “配航线” ' +

' ELSE “其他” ' +

' END; ' +

' FROM preload ' +

' LEFT JOIN codelib ' +

' ON codelib.codecd = preload.vesselcd ' +

' AND codelib.classid = "03" ';

strMasterFilter :=

' WHERE preload.companycd = :companycd ' +

' AND preload.idno = :idno ';

strMasterOrder := 'ORDER BY preloadno';

注意:CASE...WHEN...THEN...ELSE...END语句的写法不同。

D、代码中用到数据库字段名称的地方,统一用小写。

E、元件本身的属性、事件名,要按照DELPHI自动提示的格式写。

9、Object Pascal 语法约定

1)、 语法杂项:

A、运算符前后要有各一个空格。

B、在开始圆括号和后一个字符,以及结束圆括号和上一个字符中不出现空格。不要在语句中出现不必要的括号。如 if (I=42) then 中,括号就是不必要的。

C、Object Pascal 语言的保留字和关键字总是小写。

D、一般不建议使用Variant和OleVariant,除非数据类型只有在运行期才能确定或获知的。OleVariant常常用来做基于COM的程序:Auutomation和ActiveX控制,Variant基于non-COM的程序。

E、代码中不可使用Real类型,对于浮点数,应当使用Double类型。

F、定义对象特性时,应当使用读写方法来访问。

2)、过程与函数

A、形参的顺序主要要考虑寄存器调用规则,最常用的参数应当作为第一个参数,按使用频率依次从左到右排。输入参数应当位于输出参数之前。范围大的参数应当放在范围小的参数之前,如SomeProc(Acountry, Astate, ACity),IDE自动生成的事件句柄,参数顺序不必依此约定。

B、所有的常量参数应当标以Const标记。

C、为避免命名冲突,除调用公共模块的的例程外,调用其他模块的过程、函数时应当在例程名前加该例程所在的单元名。

D、除非确实需要在使用前再初始化,否则例程的内部变量应当在例程的入口处立即初始化。

其他人在看啥

    《xx软件公司产品开发代码规范-8-9》的评论 (共 0 条)

    • 还没有人评论,赶快抢个沙发