PLSQL编码规范-细则
- 格式:doc
- 大小:229.00 KB
- 文档页数:25
Oracle应遵循的PL/SQL编码规则-PLSQL发布:2008-1-0319:57|作者:网络转载|来源:|查看:7次提高编写PL/SQL代码数量及质量的四个简单易行指导方针我从1990年就开始编写PL/SQL代码。
这意味着我已经编写了几万行的软件代码,但我确信,其中的绝大多数代码都非常拙劣,而且难以维护。
幸运地是,我发现找到并遵循编写出更好代码的新方法还为时不晚。
就是在去年,我的代码质量有了显著改进;这些改进主要是由于制定了一些简单的规则,并像纪律一样加以遵守。
本文为PL/SQL新手及有经验的开发人员提出了四条建议;遵守其中任何一条,你的代码质量都会有提高。
这四点建议都采纳,你可能会惊奇地猛然发现:你竟然是一个非常好的程序员,要远远超乎你的想象。
所有工作都独自完成我们很少有人是孤立工作的;大多数PL/SQL开发工作是在相对较大的机构中进行的。
但我们基本上还是在自己的小隔间里用自己的设备独自工作。
几乎没有PL/SQL开发小组进行正规的代码复查或系统测试。
我不可能通过这篇文章改变你们开发小组的基本状态。
因此,我仔细地选取出以下几点建议。
实施其中任何一点并不需征得管理人员同意。
不论你的小组是大是小,都不必让其中的每个人都赞同这些编码规则。
你只需按以下建议来改变你的本人的编码方式:1.严格遵循命名约定,好像它们就是你的生命支柱。
2.戒除编写SQL的嗜好:编写的SQL越少越好。
3.使执行部分短小:告别"意大利面条式的代码"。
4.找一位伙伴:非常赞同找个人来监督你的工作。
1.遵循命名约定如果你建立并严格遵循一套命名约定,特别是对于应用程序组件的,你就可以节省很多时间。
当然,遵循命名约定的想法并没有什么新意,你可能已经听烦了。
所以我并不提出什么宏伟的命名计划,而是给出一些非常具体而明确的约定,然后证明这些约定会多么有用。
前几个月我一直在为PL/SQL开发人员设计、构建一种新工具。
它名为Swy g(可以在中找到),可以帮助程序员完成代码的生成、测试及重用的工作。
代码风格标准一、命名规范1.1程序的命名规则要遵循公司文件要求。
1.2Function的命名以“f_”开头。
1.3Procedure的命名以“p_”开头。
1.4参数的命名以“p_”开头,如果是输入类型参数以“pi_”开头,如果是输出类型的参数以“po_”开头,如果是输入输出类型的参数以“pio_”开头。
1.5游标命名以“c_”开头,游标参数以“p_”开头。
1.6定义何种类型的变量就用变量类型关键词的首字母加下划线作为变量名的开头前缀。
1.7 Table 的别名不超过四个字母,取表名每个单词的第一个字母。
如果表名为三个单词时,前两个单词各取一个字母,最后一个取两个字母。
二、源程序书写规范2.1代码字体尽量使用小写,以便于识别。
2.2Function或procedure代码尽量控制在1000行以内,功能尽量单一,以便于阅读。
2.3建议select与后面的单词间隔三个空格,与下面的from、where等关键词尽量左对齐。
2.4sql语句嵌套时要注意,被嵌套的sql语句整体也要遵循2.3的格式要求。
2.5建议在代码中加一个变量v_process_state,以用来跟踪调试程序。
2.6在Exception处理中,要输出oracle的标准信息。
2.7Exception的处理还需要大家多提建议,共同完善,以便于程序的调试。
三、源程序注释规范3.1加注版本历史说明。
3.2加注包说明(――包名:中文说明)。
3.3包体代码中也要加注同3.1的版本历史说明。
3.4每一个function和procedure前都要加注释说明功能,难理解的参数也要加注释说明。
3.5游标前必须加注释说明。
3.6如果为合并游标,加说明以示区别。
3.7代码段的逻辑内容的注释,要用1,1.1,2.1,2.2等标题,要显示出代码的逻辑结构。
3.8修改代码时,加上修改人、修改内容的注释信息,尽量注释保留源代码。
Oracle PL/SQL 编程规范指南一、PL/SQL 编程规范之大小写就像在 SQL 中一样,PL / SQL 中是不区分大小写的。
其一般准则如下: 关键字(BEGIN, EXCEPTION, END, IF THEN ELSE,LOOP, END LOOP)、数据类型 (VARCHAR2, NUMBER)、内部函数(LEAST, SUBSTR)和用户定义的子程序(procedures, functions,packages),使用大写。
变量名以及 SQL 中的列名和表名,使用小写。
二、PL/SQL 编程规范之空白空白(空行和空格)在 PL/SQL 中如同在 SQL 中一样重要,因为它是提高代码可读性的一个重要因素。
换句话说,可以通过在代码中使用缩进来体现程序的逻辑结构。
以下是一些建议: 在等号或比较操作符的左右各留一个空格; 结构词(DECLARE, BEGIN, EXCEPTION, END,IF and END IF, LOOP and END LOOP) 居左排列。
另外,结构中的嵌套结构要缩进三个空格(使用空格键,而不是 Tab 键); 主要代码段之间用空行隔开; 把同一结构的不同逻辑部分分开写在独立的行, 即使这个结构很短。
例如, IF 和 THEN 被放在同一行, 而 ELSE 和 END IF 则放在独立的行。
三、PL/SQL 编程规范之命名约定使用以下前缀对于避免与关键字和表名列名相冲突是很有帮助的:v_变量名 con_常量名 i_输入参数名,o_输出参数名,io_输入输出参数名 c_游标名 或者 游标名_cur rc_ Ref Cursor 名 r_Record 名 或者 Record 名_rec FOR r_stud IN c_stud LOOP… FOR stud_rec IN stud_cur LOOP type_名称,名称_type (用户定义的类型) t_表名,表名_tab (PL/SQL 表) rec_Record 名,Record 名_rec (Record 变量) e_异常名 (用户定义的异常) 包的名称应该描述包内的存储过程和函数主要所完成的功能存储过程的名称应该描述该存储过程所执行的动作函数的名称应该描述所返回的变量例如:PACKAGE student_admin – admin 后缀可能是用于表示管理功能。
文档标识此版本文档的正式核准分发控制文档修订历史目录1. 文件组织 (1)2. 文件结构 (2)2.1. 文件的声明 (2)2.2. 包头(package header) (2)2.3. 包体(package body) (4)3. PL/SQL语言规范 (4)3.1. 变量规范 (4)3.2. 包规范 (4)3.3. 游标规范 (4)3.4. 事务处理规范 (5)3.5. 数据封装规范 (5)3.6. 数据访问规范 (5)3.7. 日志书写规范 (5)3.8. 错误处理规范 (6)3.9. 书写规范 (6)3.10. 书写优化性能建议 (7)3.11. 其他经验性规则 (8)4. 增量脚本维护规范 (9)4.1. 增量脚本回归规范 (9)4.2. 增量脚本文件命名规范 (9)4.3. 增量脚本内部处理规范 (9)1.文件组织PACKAGE脚本的文件名以pk_开头,扩展名为sql,每个包的包头和包体分开在不同文件中,包头文件名为(包名称)+”_hdr.sql”,包体文件名为(包名称)+”_bdy.sql”,一个文件中只能有一个包。
每个pkg里面的sp的功能点需参见客户需求测试脚本文件以功能点编号+后缀(ini) 命名2.文件结构2.1. 文件的声明文件的声明描述了文件和文件踪迹变化,位于文件的开头(参见示例1-1),主要内容有:(1)英文名称本存储过程(函数)的英文名(2)模块名称本存储过程(函数)的中文名称(3)模块功能本存储过程(函数)实现的功能简单描述( 4 ) 创建日期在此栏目中描述此模块作者,创建日期,版本号等信息( 5 ) 修改历史记录变更人,变更时间,变更内容( 6 ) 备注记录需要特殊描述或者提醒其他人注意的内容2.2. 包头(package header)包头声明了包中的各个部件(过程和函数)。
注意事项:一、过程名、函数名要用小写字母,过程名以pr_开头,函数名以fn_开头。
二、每个部件(过程或函数)要有说明,包括:模块名称、模块编号、模块功能、修改历史。
PLSQL开发规范Andrew.zhao1.PL/SQL编码规范1.1.使用工具Toad或PL/SQL Developer1.2.使用基表(视图)别名在SQL语句中为表或视图指定别名。
其命名规格以简短为原则,一般为基表或视图名称每一节单词的第一个字母,如mtl_system_items的别名一般指定为msi。
1.3.例外处理尽可能多的使用EXCEPTION捕捉各种例外,并返回用户可读懂的信息,如无法确定是否有其它例外,可在每个PL/SQL程序块的例外中加上WHEN OTHERS语句。
例外信息统一风格,定义统一的例外处理Package统一返回在哪个Package、Procedure中发生的例外对日志中的一些调试信息,通过参数设定是否需要输出语法如下:EXCEPTIONWHEN OTHERS THENFND_FILE.PUT_LINE(FND_FILE.OUTPUT,SQLCODE);FND_FILE.PUT_LINE(FND_FILE.OUTPUT,SQLERRM);END;1.4.注释PL/SQL有两种表示注释的方法,分别为’--’和’/*…*/’,对于多行或整段的注释一般采用后者,对于单行或行尾的注释一般采用前者。
以下从几个主要地方注释做个规定,力求统一。
注释风格:注释单独成行、放在语句前面。
应对不易理解的分支条件表达式加注释;对重要的计算应说明其功能;过长的函数实现,应将其语句按实现的功能分段加以概括性说明;常量及变量注释时,应注释被保存值的含义(必须),合法取值的范围;可采用单行/多行注释。
(--或/**/方式)。
包、过程、函数注释(代码头信息注释规范)/*===============================================================*Copyright(C)CNC All rights reserved*===============================================================*Program Name:[Package Name]*Author:$OSUSER*Date:$DATE$TIME*Purpose:[Purpose]*Parameters:*In X--参数X的简要说明*Out Y--参数Y的简要说明*Called:*Called By:*Description:**Update History*Version Date Name Description*-----------------------------------------------------*V1.0$DATE$OSUSER Creation*===============================================================*/如增加包中的过程或函数,需在包的注释中的Update History中增加相应的信息。
3. 基本策略3.1 设计策略◆ 分类拆分数据量大的表。
对于经常使用的表(如某些参数表或代码对照表),由于其使用频率很高,要尽量减少表中的记录数量。
例如,银行的户主账表原来设计成一张表,虽然可以方便程序的设计与维护,但经过分析发现,由于数据量太大,会影响数据的迅速定位。
如果将户主账表分别设计为活期户主账、定期户主账及对公户主账等,则可以大大提高查询效率。
◆ 分区策略在拥有数500行以上的表时,采用分区策略。
◆ 索引设计。
对于大的数据库表,合理的索引能够提高整个数据库的操作效率。
在索引设计中,索引字段应挑选重复值较少的字段;在对建有复合索引的字段进行检索时,应注意按照复合索引字段建立的顺序进行。
例如,如果对一个5万多条记录的流水表以日期和流水号为序建立复合索引,由于在该表中日期的重复值接近整个表的记录数,用流水号进行查询所用的时间接近3秒;而如果以流水号为索引字段建立索引进行相同的查询,所用时间不到1秒。
因此在大型数据库设计中,只有进行合理的索引字段选择,才能有效提高整个数据库的操作效率。
◆ 有时候为了提高性能。
减少表的关联,恰当的数据冗余是允许的。
◆ 索引对新增,删除,更新的性能影响比较大,对相关的表的索引使用要权衡◆ 为表和索引建立不同的表空间,禁止在系统表空间中放入非核心oracle系统成分的对象,确保数据表空间和索引表空间位于不同的磁盘磁盘驱动器上。
◆ 对于经常发生同时查询或频繁查询的表,最好把他放到不同的磁盘空间上4. 逻辑设计规范4.1 范式◆ 如果没有性能上的原因,应该使用关系数据库理论,达到较高的范式,避免数据冗余。
◆ 如果在数据量上与性能上无特别要求,考虑到实现的方便性可以有适当的数据冗余,但基本上要达到3NF。
4.2 表设计◆ 对于数据量比较大的表,根据表数据的属性进行分区,以得到较好的性能。
如果表按某些字段进行增长,则采用按字段值范围进行范围分区;如果表按某个字段的几个关键值进行分布,则采用列表分区;对于静态表,则采用Hash分区或列表分区;在范围分区中,如果数据按某关键字段均衡分布,则采用子分区的复合分区方法。
oracle mysql 编码规则Oracle和MySQL是两个常用的关系型数据库管理系统,它们在编码规则方面有些不同。
下面我将为您介绍Oracle和MySQL的编码规则。
一、Oracle编码规则:1.字符集选择:Oracle支持多种字符集,如AL32UTF8、UTF8、ZHS16GBK等。
其中,AL32UTF8是Unicode编码的扩展,能够存储任何字符,建议使用AL32UTF8字符集,以适应全球化的需求。
2.字符长度限制:Oracle中的VARCHAR2类型的字符长度限制为4000字节,在AL32UTF8字符集下,这对应于4000个ASCII字符或者1333个汉字。
如果需要存储更多字符,可以使用CLOB类型。
3.使用国际化支持函数:Oracle提供了丰富的国际化支持函数,如NLS_LOWER、NLS_UPPER、NLS_INITCAP等,可以在各种字符集之间进行转换和比较。
4.字符编码转换:在涉及到不同字符集之间的数据传输和处理时,需要进行字符编码转换,Oracle提供了一系列的函数和工具来实现字符编码转换,如CONVERT、NLS_CHARSET_ID等。
5.字符串比较规则:在Oracle中,字符串比较默认是不区分大小写的,如果需要进行区分大小写的比较,可以使用BINARY_CI规则或者设置NLS_SORT参数。
6.字符集的设置:在创建数据库时,需要设置数据库的字符集,可以在CREATE DATABASE语句中指定字符集,也可以使用ALTER DATABASE语句来修改数据库的字符集。
二、MySQL编码规则:1.字符集选择:MySQL支持多种字符集,如utf8mb4、utf8、gbk 等。
其中,utf8mb4是Unicode编码的超集,能够存储任何字符,建议使用utf8mb4字符集,以适应全球化的需求。
2.字符长度限制:MySQL中的VARCHAR类型的字符长度限制为65535字节,在utf8mb4字符集下,这对应于65535个ASCII字符或者21845个汉字。
PLSQL编码规-细则文件编号:版本:1.1拟制审核会签标准化批准XXXXXX公司XXXIT部目录前言 (4)1范围 (5)2术语和定义 (5)2.1原则 (5)2.2规则 (5)2.3建议 (5)2.4说明 (5)2.5正例 (5)2.6反例 (5)3代码布局 (5)4注释 (9)5命名规则 (14)6可读性 (18)7变量 (19)8函数与过程 (20)9程序效率 (22)10异常处理 (23)11数据库触发器标准 (24)12SQL性能优化技术 (24)版本变更记录圆珠笔填写,不得涂改。
<本模板中用“< >”括起来的内容包括本段,是编写指导,在最终的文档中应予以删除。
其它内容应予以保留。
如果某节内容无需填写,则在该节下写“无”,而不要将本节删除或不填写任何内容(留白将无法判断:是本节内容无需填写还是因为疏忽而忘了填写。
)>前言编码规范包括总则和细则两部分。
总则部分是对编码的总体性规范要求,适用于多种编码语言;细则部分是在总则的规范要求下,针对具体语言的特点而提出的规范要求。
本规范是编码规范的细则部分,适用于PLSQL编程语言。
编写本规范的目的是为了进一步规范PLSQL软件编程风格,提高软件源程序的可读性、可靠性和可重用性,确保在开发成员或开发团队之间的工作可以顺利交接,不必花很大的力气便能理解已编写的代码,以便继续维护和改进以前的工作,提高软件源程序的质量和可维护性,减少软件维护成本。
本规范的内容包括:排版、注释、标识符命名、可读性、变量、结构、函数&过程、可测性、程序效率、质量保证、代码编辑&编译&审查、代码测试&维护等。
规范最后给出了一个编程实例供软件人员参考。
本规范分成规则性和建议性两种:对于规则性规范,要求所有软件开发人员严格执行;对于建议性规范,各项目编程人员可以根据实际情况选择执行。
自本规范实施之日起,以后新编写的和修改的代码均应执行本规范。
PL/SQL编码规范1. PL/SQL编码规范PL/SQL对大小写不敏感,故切忌使用大小写区分变量和其它用户定义的元素。
为使代码具有可读性,可遵循以下简单的大小写规则以便在源代码中区分这些元素:✧全部保留字、Oracle提供的程序包、内建函数、用户定义的常数、Oracle和用户定义的数据类型,以及模式名均采用大写;✧所有程序命名和过程名称全部采用大写。
✧修改前必须从CVS去取最新的版本去,同时如存在多个人同时修改的情况,请注意协调分工,注意事后合并版本。
✧所有的包和过程等PL/SQL脚本,请将最新的放在CVS上,\JCN\20Engineering\20.40SourceCode\PLSQL\这个目录下。
(FUNCTION和PACKAGE等要分开放)文件的路径如下图片所示如果是改修的,请到下图的Baseline下去取文件,然后保存到上述路径:✧PL/SQL的包和包体将采用一个文件,名称为包的名字,保留到CVS将,请不要将包和包体分开为两个文件update到CVS。
✧在提交到CVS上去以前,请清理掉临时的变量,和编码的时候采用的临时表等,并请格式化你的代码,不定期将会对代码进行review。
1.1. PL/SQL程序命名规范1.无论是PL/SQL对象还是PL/SQL对象内部用的变量和游标等,都必须能从名称上能让人理解变量和游标的含义,而且一定要做好注释。
2.传到CVS上的文本文件全部采用’.sql’作为文件名的后缀1.1.1. 存储过程存储过程的命名必须符合USP_DETAILNAME格式,其中 USP表示是存储过程,DETAILNAME 是与存储过程意义相关的意义的名称,如:USP_BUSINESS_RULE。
1.1.2. 软件包软件包的命名必须符合PKG_ DETAILNAME格式,其中 PKG表示是软件包, DETAILNAME 是与软件包意义相关的意义的名称,例如:PKG_SORCE_ALL。
PLSQL编码规-细则文件编号:版本:1.1拟制审核会签标准化批准XXXXXX公司XXXIT部目录前言 (4)1范围 (5)2术语和定义 (5)2.1原则 (5)2.2规则 (5)2.3建议 (5)2.4说明 (5)2.5正例 (5)2.6反例 (5)3代码布局 (5)4注释 (9)5命名规则 (14)6可读性 (18)7变量 (19)8函数与过程 (20)9程序效率 (22)10异常处理 (23)11数据库触发器标准 (24)12SQL性能优化技术 (24)版本变更记录圆珠笔填写,不得涂改。
<本模板中用“< >”括起来的内容包括本段,是编写指导,在最终的文档中应予以删除。
其它内容应予以保留。
如果某节内容无需填写,则在该节下写“无”,而不要将本节删除或不填写任何内容(留白将无法判断:是本节内容无需填写还是因为疏忽而忘了填写。
)>前言编码规范包括总则和细则两部分。
总则部分是对编码的总体性规范要求,适用于多种编码语言;细则部分是在总则的规范要求下,针对具体语言的特点而提出的规范要求。
本规范是编码规范的细则部分,适用于PLSQL编程语言。
编写本规范的目的是为了进一步规范PLSQL软件编程风格,提高软件源程序的可读性、可靠性和可重用性,确保在开发成员或开发团队之间的工作可以顺利交接,不必花很大的力气便能理解已编写的代码,以便继续维护和改进以前的工作,提高软件源程序的质量和可维护性,减少软件维护成本。
本规范的内容包括:排版、注释、标识符命名、可读性、变量、结构、函数&过程、可测性、程序效率、质量保证、代码编辑&编译&审查、代码测试&维护等。
规范最后给出了一个编程实例供软件人员参考。
本规范分成规则性和建议性两种:对于规则性规范,要求所有软件开发人员严格执行;对于建议性规范,各项目编程人员可以根据实际情况选择执行。
自本规范实施之日起,以后新编写的和修改的代码均应执行本规范。
1范围本标准规定了PLSQL语言的编程规范,主要包括排版、注释、标识符命名、可读性、变量、结构、函数&过程、可测性、程序效率、质量保证、代码编辑&编译&审查、代码测试&维护等。
本规范自生效之日起,对以后新编写的和修改的代码有约束力。
2术语和定义下列术语和定义适用于本标准。
2.1原则编程时应该坚持的指导思想。
2.2规则编程时必须遵守的约定。
2.3建议编程时必须加以考虑的约定。
2.4说明对此规则或建议的必要的解释。
2.5正例对此规则或建议给出的正确例子。
2.6反例对此规则或建议给出的反面例子。
3代码布局代码布局的目的是显示出程序良好的逻辑结构,提高程序的准确性、连续性、可读性、可维护性。
更重要的是,统一的程序布局和编程风格,有助于提高整个项目的开发质量,提高开发效率,降低开发成本。
同时,对于普通程序员来说,养成良好的编程习惯有助于提高自己的编程水平,提高编程效率。
因此,统一的、良好的程序布局和编程风格不仅仅是个人主观美学上的或是形式上的问题,而且会涉及到产品质量,涉及到个人编程能力的提高,必须要引起重视。
一般源代码每行的字符数不得超过80,除非只剩下一个单词。
如一行源代码超过了80个字符,可在逗号和操作符后面开始换行,并相对第一行缩进2个空格,或相对当前行做调整。
正例:例1:BEGINSELECT SUM(quantity)INTO :zte_rpctq_safe_inventories.quantityFROM zte_rpct_onhandWHERE subinventory_id = :zte_rpctq_safe_inventories.subinventory_idAND inventory_item_id = :zte_rpctq_safe_inventories.inventory_item_id;EXCEPTIONWHEN NO_DATA_FOUND THEN:zte_rpctq_safe_inventories.quantity := NULL;END;例2:FUNCTION get_prod_config_cost(p_cutoff_date IN DATE,p_product_id IN NUMBER,p_inventory_item_id IN NUMBER) RETURN NUMBER;说明:对于由开发工具自动生成的代码可以有不一致。
说明:空行起着分隔程序段落的作用。
适当的空行可以使程序的布局更加清晰正例:BEGIN SELECT COUNT (*) INTO NORMAL FROM fnd_concurrent_requests W HERE status_code = 'C'; SELECT COUNT (*) INTO warning FROM fnd_concurrent_requests WHERE status_code = 'G'; SELECT COUNT (*) INTO error FROM fnd_concurrent_requests WHERE status_code = 'E';END;反例:如下例子不符合规范。
BEGIN SELECT COUNT (*) INTO NORMAL FROM fnd_concurrent_requests W HERE status_code = 'C'; SELECT COUNT (*) INTO warning FROM fnd_concurrent_requests WHERE status_code = 'G'; SELECT COUNT (*) INTO error FROM fnd_concurrent_requests WHERE status_code = 'E';END;正例:IF NOT MRP_GLOBALS .Equal (l_x_flow_schedule_rec .alternate_bom_designator , l_flow_schedule_rec .alternate_bom_designator ) THEN x_alternate_bom_designator := l_x_flow_schedule_rec .alternate_bom_designator ; END IF; IF NOT MRP_GLOBALS .Equal (l_x_flow_schedule_rec .alternate_routing_desig , l_flow_schedule_rec .alternate_routing_desig ) THEN x_alternate_routing_desig := l_x_flow_schedule_rec .alternate_routing_desig ; END IF;正例:PROCEDURE get_next_handle(itemtype IN VARCHAR2,itemkey IN VARCHAR2,actid IN NUMBER,funcmode IN VARCHAR2,resultout OUT VARCHAR2);l_page NUMBER := 1; l_line NUMBER := 0;反例:l_page NUMBER := 1; l_line NUMBER := 0;正例:DECLARE…;BEGIN…;EXCEPTIONWHEN OTHERS THENNULL;END;说明:以免用不同的编辑器阅读程序时,因TAB 键所设置的空格数目不同而造成程序布局不整齐。
正例:Clear_Block(NO_COMMIT); // 正确反例:Clear_Block( NO_COMMIT ); // 错误注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。
正例:/*+===========================================================================+ 版权信息:版权所有(C) 2004,XXXX有限公司文件名称:版本号:创建者:创建日期:内容摘要:<说明此程序文件完成的主要功能,与其他模块或函数的接口,独立或依赖等关系。
>功能列表:主要函数、过程列表,每条记录应包括函数、过程名及功能简要说明更新历史:更新历史记录列表,每条修改记录应包括更新日期、更新者及更新内容简述更新者更新日期更新内容+===========================================================================+*/正例:/*+===========================================================================+ 版权信息:版权所有(C) 2004,XXXX有限公司文件名称:创建者:创建日期:内容摘要:项描述本文件的内容、功能、内部各部分之间的关系及本文件与其它文件关系等功能列表:主要函数、过程列表,每条记录应包括函数、过程名及功能简要说明(包体可忽略)更新历史:更新历史记录列表,每条修改记录应包括更新日期、更新者及更新内容简述更新者更新日期更新内容+===========================================================================+*/正例:/*+===========================================================================+ 名 称:函数或存储过程名称内容摘要:函数或存储过程功能、性能等的描述调 用:被本函数、过程调用的函数清单被调用 :调用本函数、过程的函数清单创建者:被访问表:被访问的表(此项仅对于牵扯到数据库操作的程序)被更新表:被修改的表(此项仅对于牵扯到数据库操作的程序)输 入:输入参数说明,包括每个参数的作用、取值说明及参数间关系。
输 出:对输出参数的说明返回值 :返回值的说明其它:其它说明+===========================================================================+*/说明:修改代码应同时修改相应的注释,不再有用的注释要删除说明:错误的注释不但无益反而有害。
说明:在使用缩写时或之前,应对缩写进行必要的说明。