版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、FI-PICCALL-SD-设计原则及开发规范PICC 新一代综合业务系统项目组 i 4GL4GL 语言开发原则及规范语言开发原则及规范中科软件股份有限公司中科软件股份有限公司20022002 年年 0404 月月 2727 日日FI-PICCALL-SD-设计原则及开发规范PICC 新一代综合业务系统项目组 ii 目目 录录1 1编码规范编码规范.11.1命名规范.11.1.1对象命名.11.1.2常量和变量命名.51.2注释规范.71.2.1程序文件部分的注释.81.2.2函数部分的注释.91.2.3函数(过程)程序的增、删、改的注释说明约定.111.2.4函数体内部的代码段修改注释.12
2、1.2.5函数体内部的代码段说明约定.131.3书写规范.131.3.1基本原则.131.3.2保留字引用规则.141.3.3LET 语句.141.3.4IF 语句.151.3.5DEFINE 语句.151.3.6CALL 语句.161.3.7函数体内部组织.161.4注意事项.18FI-PICCALL-SD-设计原则及开发规范中科软件股份有限公司 11 1 编码规范编码规范1.11.1 命名规范命名规范1.1.1对象命名 数据库命名规范数据库命名规范数据库名长度:不超过 INFORMIX 规定长度(十八位);采用英文形式,规则如下:数据库名由两部分组成:系统名+D
3、B;举例:财产保险业务处理系统的数据库命名为:PrpInsDB系统名由英文单词构成,每个单词首字母大写,单词可采取缩写形式;附表提供的词根表作为构词的唯一依据。本小节规范适用于各种语言版本的系统。 数据库表命名规范数据库表命名规范数据库表名长度:不超过 INFORMIX 规定长度(十八位);采用英文和“_”组成形式,规则如下:数据库表名由三部分组成:系统名+业务类型+表的英文名(+“_”+子对象名),业务类型用 1 位大写字母表示,如承保业务为 C、批改业务为 P、理赔业务为 L、收付费业务的数据表为 J、通用代码为 D;举例:财产保险承保保单基本信息表命名为:Pr
4、pCmain;货物运输保险保单信息表(继承了保单基本信息):PrpCmain_Cargo。业务类型采用附表提供的词根表中规定的字母;表名由英文单词构成,保险类别和业务类型的首字母大写,表的英文名采取小写形式,单词可采取缩写形式;当一个对象继承主对象时,体现在数据表上则使用“_”分割;举例: PrpCmain_Cargo:货物运输保险保单信息表,继承了保单基本信息。FI-PICCALL-SD-设计原则及开发规范中科软件股份有限公司 2附表提供的词根表作为构词的唯一依据。本小节规范适用于各种语言版本的系统。 数据库字段命名规范数据库字段命名规范字段长度:不超过 INFO
5、RMIX 规定字段长度(十八位);采用英文形式,规则如下:1. 字段名由英文单词构成,每个单词首字母大写;举例: 保单号码:PolicyNo2. 一个字段名所用的单词不超过 5 个,在字段名不超过规定长度的情况下,尽量采用英文单词的全称;3. 在字段名总长度超长的情况下,不缩略核心单词,其他单词缩略不短于 3 个字母;4. 形容词定语放在所修饰名词的后面;举例:损失金额:SumLoss附表提供的词根表作为构词的唯一依据。本小节规范适用于各种语言版本的系统。 程序(文件)模块命名程序(文件)模块命名长度:不超过 INFORMIX 规定长度(十位);采用英文形式,规则如
6、下:以对象名开头(第一个字母大写),后接对象操作名(第一个字母大写);命名规则:ObjectOpt.4gl 其中,Object 是对象名。数据层默认为基本表名。如果表名超过 10 位。则按照缩略规则执行。BL 层模块划分及命名:原则上每个 BL 层的对象对应两个模块,一个对象主模块,一个模块存放归属于该对象的模块变量。当且仅当主模块中内容过多时,按照如下规则划分:objectRd.4gl:存放涉及到查询(读)数据库的服务函数objectWt.4gl:存放涉及到更新(写)数据库的服务函数objectTx.4gl:存放事务服务函数objectLg.4gl:存放不涉及数据库操作的服务函数FI-PIC
7、CALL-SD-设计原则及开发规范中科软件股份有限公司 3DB 层模块划分及命名:全局动态数组(DE):对于数据层的实体对象服务模块,它们一般由工具生成,文件名一般要与实体对象名一致,除非表名超过 10 位,此时参考词根表进行命名。注意表名或者词根表是命名仅有的参考依据。另外,除了通用服务以外,有些实体对象需要一些扩展的服务,这些服务放在实体对象服务模块的最后定义; 函数命名规范函数命名规范采用由大小写英文字母和“_”组成方式,规则如下;直接调用的工具函数命名公式pub_” + ”对象名” + ”_” + “函数名”其中:对象名和函数名区分大小写对象服务函数命名由于
8、 INFORMIX-4GL 语言不是面向对象的开发语言,因而在程序设计中的对象服务是以函数的方式体现的;一般函数命名公式:作用范围+”_”+对象名+”_”+对象的方法其中:作用范围包括 pub/pri,对象名和方法名区分大小写举例:逻辑层险种对象 BLPrpDrisk 的增加操作 add 所对应的函数名为:pub_BLPrpDrisk_Add数据层代码对象 DBPrpDcode 的 delete 操作 所对应的函数名为:pub_DBPrpDcode_Delete界面层保单对象 UIPolicy 的 录入操作对应的函数名为:pub_UIPolicy_Input事务型的函数(或模块)命名规范参见
9、3.2.5(数据库事务编写约定)数据层扩展服务函数命名:如果存在某数据表 TableName 的数据层服务,其功能是获取表中某字段ColumnName 的最大值,则该数据层服务函数名定义为:pub_DBTableName_GetMaxColumnName如果某两层结构数据表 TableName 的字段名为 Col,现存在数据层服务,其功能是根据 Col 删除表中数据,则该数据层服务函数名定义为:FI-PICCALL-SD-设计原则及开发规范中科软件股份有限公司 4pub_DBTableName_DeleteByCol如果某两层结构数据表 TableName 主键为 id 和 no,每个 id
10、下包括若干 no,现存在数据层服务,其功能是根据 id 删除表中数据,则该数据层服务函数名定义为:pub_DBTableName_DeleteByIN如果某数据表 TableName 主键为 id、no 和 col,现存在数据层服务,其功能是根据 id 和 no 删除表中数据,则该数据层服务函数名定义为:pub_DBTableName_DeleteByINC也就是说,此时只取涉及的字段的首字母,写在函数名的最后。 屏幕表格命名屏幕表格命名屏幕 FORM 名应与相关数据表或主调用文件保持一致;采用英文形式,规则如下:以对象名开头(第一个字母大写),后接对象操作名(第一
11、个字母大写);命名规则:ObjOpt.per,其中 Obj 是对象名,Opt 是对象操作名。举例:“主保单录入”屏幕表格名称为 CmainInp.per “保单查询”屏幕表格名为 CmainQry.per “保单清单显示”屏幕表格名为 CmainLst.per如果一个屏幕表格被用于录入、查询等多种功能,功能名为:main;举例:主保单录入、查询的通用屏幕表格名为:CmainMain.per如果一个屏幕表格被用于非录入、查询等多种功能,功能名为:pub。举例:主保单非录入、查询的通用屏幕表格名为:CmainPub.per屏幕记录:以小写字母命名,形式为 sc_tablename屏幕数组:以小写字
12、母命名,形式为 sa_tablename 窗口和游标命名窗口和游标命名采用由小写英文字母和“_”组成方式,规则如下;窗口命名以功能名开头,后接 win,以“_”分隔。举例:某项功能需要以屏幕表格的方式打开窗口,该功能主要实现权限记录的增加。功能名为 grade_add,则窗口命名为:grade_add_win。FI-PICCALL-SD-设计原则及开发规范中科软件股份有限公司 5OPEN WINDOW grade_add_win AT 2,2 WITH FORM “GradeMain” CLOSE WINDOW grade_add_win游标命名游标的命名规则同窗口
13、,只不过以 cur 结尾;举例:某功能需以预处理+游标的方式从表 prpgrade 获取数据。设功能名为 prpgrade_sel,则预处理命名为:prpgrade_sel_pre,游标命名为 prpgrade_sel_curPREPARE prpgrade_sel_pre FROM lv_sqlDECLARE prpgrade_sel_cur CURSOR FOR prpgrade_sel_preFOREACH prpgrade_sel_cur INTO sel_var_listEND FOREACH如果在同一个程序模块内,游标的命名重复,可在结尾处加序号与以区别,序号从1 开始,依次递增。
14、1.1.2常量和变量命名命名公式:常量名称=变量作用域前缀+变量类型+_+自定义名称注意:自定义名称要有一定的意义且整个常量名称全部大写变量名称=变量作用域前缀+变量类型+_+自定义名称注意:自定义名称要有一定的意义且整个常量名称全部小写除了对象之外,常量和变量也需要良好格式的命名约定。常量或变量应该总是被定义在尽可能小的范围内。全局 (Global) 变量可以导致极其复杂的状态机构,并且使一个应用程序的逻辑非常难于理解。全局变量也使代码的重用和维护更加困难。较好的编码习惯是尽可能写模块化的代码。除了全局变量(应该是不被传递的),过程和函数应该仅对传递给它们的对象操作。在过程中使用的全局变量应
15、该在过程起始处的声明部分中标识出来。FI-PICCALL-SD-设计原则及开发规范中科软件股份有限公司 6作用范围前缀例子全局ggr_prpcmain模块级ppv_sql本地到过程llv_count传入参数iir_prpcmain常量/变量类型前缀例子结构rgr_prpcmain数组apa_count10其他vlv_proposalno描述变量变量主体应该使用小写形式,并且应该足够长以描述它的作用。对于频繁使用的或长的项,推荐使用标准缩略语以使名称的长度合理化。当使用缩略语时,要确保它们在整个应用程序中的一致性。在一个工程中,如果一会儿使用 proposalno 代表投保单号码,一会使用 pr
16、psalno 代表保单号码,将导致不必要的混淆。变量使用遵循如下几条规则:函数内部定义的每一个变量在使用之前都必须初始化,初始化区域以/-INIT开头和-/结尾。便于工具能够定期检查变量是否初始化或者初始化是否正确,在函数内部的变量初始化区域,严格按照上述规定检查;对于数组的初始化,必须采用 INITIALIZE 数组 TO NULL,不要采用循环一条条记录进行初始化,除非需要针对数组记录中的某个字段特殊赋值;比如:定义数组变量 la_prptplan ARRAY20 OF RECORD LIKE PrpTplan.*, 初始化时直接用 INITIALIZE la_prptplan TO NU
17、LL,不要使用:FOR i=1 TO 20INITIALIZE la_prptplani.* TO NULL END FOR对象化后的系统不允许使用模块变量;终端版系统应优化算法,尽量避免使用数组,不允许使用大数组;FI-PICCALL-SD-设计原则及开发规范中科软件股份有限公司 7变量定义及初始化举例如下:FUNCTION pub_BLPrpCaddress_Ini( )DEFINE lr_prpcaddress RECORD LIKE PrpCaddress.*, la_prpcaddress ARRAY20 OF RECORD LIKE PrpCaddress.*, lv_prpcad
18、dress_count SMALLINT,lv_result INTEGER #/-INIT #-变量初始化 INITIALIZE lr_prpcaddress.* TO NULL INITIALIZE la_prpcaddress TO NULL #-初始化数组变量 LET lv_prpcaddress_count=0 LET lv_result=0 #-/ CALL pub_DEPrpCaddress_GetRec() RETURNING lr_prpcaddress.* END FUNCTION1.21.2 注释规范注释规范良好的程序注释有助于帮助我们了解程序的实现,也可以对程序文件进行
19、一定量统计分析。约定如下:程序注释是程序文件的一个重要组成部分,中英文注释均可(考虑到各种平台对中文的支持,建议用英文);INFORMIX-4GL 的注释有三种:#、-、。分单行注释和多行注释两种。单行注释以-开头。多行注释以#开头。除了临时的注释(调试程序使用),严禁使用。为了对 4GL 文件进行一定量的统计分析,规范代码的编写质量。制定了一组注释框架来对 4GL 程序进行说明。规则如下:FI-PICCALL-SD-设计原则及开发规范中科软件股份有限公司 81.2.1程序文件部分的注释程序文件头的注释说明主要包括该程序文件包含类的名称(CLASS)、类的功能描述(DESC)、文件创建作者(A
20、UTHOR)、创建日期(CREATEDATE)、及更新列表(MODIFYLIST)等信息。还包括类的成员包括公有和私有。举例:#/-CLASS DBPrpDkind#DESC类功能描述#AUTHOR 创建者名称#CREATEDATE YYYY/MM/DD#MODIFYLIST# NAME DATE REASON# WuPeng 2002/03/13 优化 save 函数,提高效率# SunRibo 2002/03/14 增 PremiumCal 函数计算保费#-/说明:MODIFYLIST 中#后一个空格,NAME,DATE,REASON 和其内容都要左对齐,NAME 宽8 列,其后一个空格,
21、然后是 DATE 宽 10 列,其后一个空格,然后是 REASON,如果 REASON需要折行,另起一行,仍和 REASON 对齐#/-PUBLICPROPERTIESGLOBALDEFINE gr_prpcmain RECORD LIKE prpcmain.*END GLOBAL#-/#/-PRIVATEPROPERTIESDEFINE pr_prpcmainRECORD LIKE PrpCmain.*DEFINE pv_proposalno LIKE PprpTmain.ProposalNo-*投保单号#-/FI-PICCALL-SD-设计原则及开发规范中科软件股份有限公司 91.2.2函
22、数部分的注释每一函数(或过程)都应包括该函数(或过程)的注释部分包括一个 METHOD 框架。描述实现的功能简介、输出参数说明等方面的描述。在函数内部变量定义前包括该函数 RETURN 的框架,以/-RETURN 开头和-/结尾,对于无返回值和有返回值的 RETURN 描述规则如下:1 1、无返回值的、无返回值的 RETURNRETURN 书写规则:书写规则:#/-RETURN# # VARIABLEVARIABLE DEFINEDEFINE REMARKREMARK#-/#-/2 2、有返回值的、有返回值的 RETURNRETURN 书写规则:书写规则:#/-RETURN# # VARIAB
23、LEVARIABLE DEFINEDEFINE REMARKREMARK# # lv_result smallint 返回的 sql 值# # lr_prpcmain PrpCmain.* 数据库表记录 # # lv_amountlv_amount DECIMAL(16,2)DECIMAL(16,2)# # lv_policyno PrpCmain.PolicyNo 保单号# # lr_sumpolicy SELFDEFINESELFDEFINE# # NONE TRUE/FALSE # # NONE -1/0/100 失败/成功/没找到#-/#-/3 3、有返回值且注释超过一行的、有返回值且
24、注释超过一行的 RETURNRETURN 书写规则:书写规则:#/-RETURN# # VARIABLEVARIABLE DEFINEDEFINE REMARKREMARK# # lv_result smallint 返回的 sql 值# # 0 0:成功;:成功;1 1 失败失败# # lr_prpcmain PrpCmain.* 数据库表记录FI-PICCALL-SD-设计原则及开发规范中科软件股份有限公司 10# # 对应保单主表对应保单主表# # lv_amountlv_amount DECIMAL(16,2)DECIMAL(16,2)# # lv_policyno PrpCmain.
25、PolicyNo 保单号# # lr_sumpolicy SELFDEFINESELFDEFINE# # NONE TRUE/FALSE # # NONE -1/0/100 失败/成功/没找到#-/#-/说明:(1)#-RETURN、VARIABLE、DEFINE、REMARK 所在行为固定格式;(2)每行只能注释一个返回值,返回值注释的先后与函数实际返回顺序一致;(3)VARIABLEVARIABLE、DEFINEDEFINE、REMARKREMARK和其内容要左对齐;(4)对于对于 REMARKREMARK 一行不够的话,在注释后补反斜杠一行不够的话,在注释后补反斜杠” ”, ,另起一行,
26、和上一行的注释内容左对齐。另起一行,和上一行的注释内容左对齐。(5)DEFINE 节约定:对于 LIKE 型的变量,该处写出表名.*,或者表名.字段名,如:PrpCmain.*,PrpCmain.PolicyNo;对于 DECIMAL 类型,必须写出精度,如 DECIMAL(16,2)。(6)如果变量为自定义的结构,在DEFINEDEFINE 行填写SELFDEFINESELFDEFINE;(7)如果返回值不是变量,VARIABLEVARIABLE项固定为 NONE,DEFINEDEFINE项罗列出返回数值,用“/”分隔;(8)该规则位置放在函数中的 PARAMETER 节之前。举例如下:#/
27、-METHOD#DESC 根据主键获取 PrpCfee 表的记录#-/FUNCTION pub_DBPrpCfee_GetInfo(iv_policyno,iv_currency)#/-RETURN# VARIABLE DEFINE REMARK# lr_PrpCfee.* PrpCfee.* 保额保费记录# lv_ret SMALLINT #-/#/-PARAMETERDEFINE iv_policyno LIKE PrpCfee.policynoDEFINE iv_currency LIKE PrpCfee.currency#-/FI-PICCALL-SD-设计原则及开发规范中科软件股份有
28、限公司 11在函数内部变量定义的同时包括一个 PARAMETER 框架,以/-PARAMETER 开头和-/结尾,用来说明函数的入参及入参的类型。举例:#/-METHOD#DESC 函数描述#RETURN SMALLINT -函数返回值# INTEGER -其他返回值#-/FUNCTION pub_DBPrpCmain_Insert(iv_prpcmain.*)#/-PARAMETER-PrpCmain 表纪录DEFINE iv_cmain RECORD LIKE PrpCmain.*#-/DEFINE lv_result INTEGER. . .END FUNCTION1.2.3函数(过程)
29、程序的增、删、改的注释说明约定程序的这几种操作包含在注释关键字 MODIFY 中。注释以”-*MODIFY”开头,其中MODIFY 与”*”之间不能有空格,框架中包括注释人姓名(必须),操作DELETE/ADD/UPDATE(必须),操作时间(必须),地点(必须),必要时说明操作原因。举例:(空行)-*MODIFY BEGIN Sunribo,DELETE,2002-03-15,beijing,程序逻辑错误 (空行)#FUNCTION pub_DBPrpDkind_Update(ir_prpdkind)FI-PICCALL-SD-设计原则及开发规范中科软件股份有限公司 12#.#.#END F
30、UNCTION(空行)-*MODIFY END Sunribo,DELETE,2002-03-15,beijing (空行)记住下列几点:程序增、删、改的注释应该按时整理。无用的注释及时清理掉。所有的变量定义之后都要加上能够说明其用途的注释。1.2.4函数体内部的代码段修改注释在函数中修改代码段应在所修改代码段首尾处增加注释,在结尾处应将缩添加起首处注释的修改人、修改信息和关键字等信息重复一次,并将起首处的 BEGIN 改为结束标志 END 所添加注释应与所注释代码段保持同样缩进,并与所注释代码段间上下各保留一空行以便于浏览。此外,在进行 BUG 修改或补充功能开发时应将 BUG 编号或功能编
31、号书写在注释中,作为与功能相关的标识。举例:(空行)-*MODIFY BEGIN Sunribo,DELETE,2002-03-15,beijing,FOR IBUG2111 (空行)LET lr_prptmain.ProposalNo=”LET lr_prptmain.RiskCode=”QZA”(空行)-*MODIFY END Sunribo,DELETE,2002-03-15,beijing (空行)FI-PICCALL-SD-设计原则及开发规范中科软件股份有限公司 131.2.5函数体内部的代码段说明约定在程序中开始大的代码段之前,要加入特殊的注释,用于标记说明下面代码段的功能。此类注
32、释以#-开头,缩进和代码段的缩进相同,同时这种注释需要配以整齐的标号,以增加可读性,便于理解。举例: #-1.查询出所有从起始节点出发的路径 #-2.依次将这些路径取出并放入一个数组 #-3.关闭取路径的游标 #-4.循环判断路径是否满足条件,并标记满足条件的记录 #-5.选出所有选中的路径中优先级最高的进行返回1.31.3 书写规范书写规范1.3.1基本原则编码要清晰工整,保证程序的可读性、系统的可维护性:在任何情况下都不能使用 TAB 键;程序中一律采用4个空格的缩进;除了”,”运算符之外,所有的运算符和操作数之间都要加一个空格;一个代码行物理上不能超过屏幕规定的缺省最大宽度(80 列),
33、即不能产生折行,如果逻辑行长度超过 80,除了函数定义或者调用语句根据函参折行对齐、DEFINE 语句根据变量折行对齐以外,其他情况一律将超长部分另起一行空 4 格后书写;成对出现的语句起始和结束关键字必须左对齐书写。UI-BL-DB 三层允许前端调用后端(UIBL,UIDB,BLDB),不允许出现后端反调前端的情况;举例:IF THENFI-PICCALL-SD-设计原则及开发规范中科软件股份有限公司 14. . . END IFWHILE conditiondo END WHILEFUNCTION abc(). . . END FUNCTION1.3.2保留字引用规则编码中引用的所有保留字
34、均必须大写;程序注释提供的关键字:AUTHOR CREATEDATE DESC PARAMETER RETURN PUBLICPROPERTIES PRIVATEPROPERTIES CLASS MODIFY MODIFYLISTINFORMIX-4GL 提供的保留字:SELECT UPDATE DELETE INSERT IF THEN ELSE CASE WHEN OTHERWISE END FUNCTION PROCEDURE WHILE EXIT INFORMIX-4GL 提供的系统变量、函数一律大写;举例:INT_FLAG、ARR_COUNT、SET_COUNT 等1.3.3LET
35、语句LET 语句一行能写下就写在一行,逻辑行长度大于 80 时按照逻辑表达式拆分后, 另起一行空 4 格后书写。举例:LET lv_where_part = a.UserName = e.UserCode AND , e.GroupNo = d.GroupNo AND , e.ModelNo = , lr_wflog.ModelNo, AND ,FI-PICCALL-SD-设计原则及开发规范中科软件股份有限公司 15 e.NodeNo = , lr_wflog.NodeNo1.3.4IF 语句IF 之后的逻辑表达式一行能写下就写在一行,逻辑行长度大于 80 时按照逻辑表达式拆分后,另起一行空
36、4 格后书写。对于 IF 加上之后的条件如果足够在一行的话,THEN 跟在后面,否则单独占一行。所有的逻辑运算符(AND,OR)一律放在每行开始。禁止使用 ELSE IF 语句,可以采用 CASE 语句改写。举例:IF lr_prptmain.ProposalNo IS NULL THENERROR 该字段不允许为空,请重新输入!END IFIF lr_prptmain.ProposalNo IS NULLOR LENGTH(lr_prptmain.ProposalNo) = 0 THENERROR 该字段不允许为空,请重新输入!NEXT FIELD ProposalNoELSE。END IF另外,控制分支结构较为复杂时,用 CASE 语句代替一系列 IF 语句,必要的时候另外组织函数,宁可牺牲一些资源,也要保持程序文件的清晰程度。1.3.5DEFINE 语句DEFINE 语句必须和 FUNCTION 对齐书写。每个函数的入参都要单独使用一个 DEFINE 语句。FI-PICCALL-SD-设计原则及开发规范中科软件股份有限公司 16函数体内用到的变量定义时按照变量对齐。变量类型说明的对齐方式不做要求。1.3.6CALL 语句CALL 语句的书写原则是:如果一行能写下,就不将 RETURNING 语句折行书写,如果写不下,将 RE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 羊肉代加工合同(2篇)
- 济南的冬天说课稿8篇
- 南京工业大学浦江学院《视觉系统设计》2022-2023学年第一学期期末试卷
- 翠月嘉苑5-6#、11-12#、16-17#楼施工组织设计
- 发现与创作说课稿
- myschoolbag说课稿第课时
- 《整百整千加减法》说课稿
- 南京工业大学浦江学院《机械基础综合设计》2022-2023学年第一学期期末试卷
- 南京工业大学浦江学院《工程合同管理》2023-2024学年第一学期期末试卷
- 《全国文明城市创建》演讲稿
- 第2章现金流量与资金的时间价值
- 低空飞行基地项目可行性研究报告写作参考范文
- 2018年人教版九年级英语单词表
- 成语故事课件一诺千金
- 物业公司环境因素清单
- 国内旅游出团通知书(新版)
- 赶工措施费申请报告
- 全桥逆变电路滤波电路设计步骤
- 蒲公英总黄酮的提取及其抑菌性能
- 工程量确认单样本(管线)
- 区最新关于生活垃圾分类工作推进会上的讲话稿
评论
0/150
提交评论