4GL语言开发原则及规范--简化版

合集下载

veilog 语言书写规范

veilog 语言书写规范

2.5.1 信号命名规则信号命名规则在团队开发中占据着重要地位,统一、有序的命名能大幅减少设计人员之间的冗余工作,还可便于团队成员代码的查错和验证。

比较著名的信号命名规则当推Microsoft公司的“匈牙利”法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。

例如所有的字符变量均以ch为前缀,若是常数变量则追加前缀c。

信号命名的整体要求为:命名字符具有一定的意义,直白易懂,且项目命名规则唯一。

对于HDL设计,设计人员还需要注意以下命名规则。

1.系统级信号的命名系统级信号指复位信号,置位信号,时钟信号等需要输送到各个模块的全局信号。

系统信号以字符串sys或syn开头;时钟信号以clk开头,并在后面添加相应的频率值;复位信号一般以rst或reset开头;置位信号为st或set开头。

典型的信号命名方式如下所示:wire [7:0] sys_dout, sys_din;wire clk_32p768MHz;wire reset;wire st_counter;2.低电平有效的信号命名低电平有效的信号后一律加下划线和字母n。

如:wire SysRst_n;wire FifoFull_n;3.过锁存器锁存后的信号经过锁存器锁存后的信号,后加下划线和字母r,与锁存前的信号区别。

如:信号CpuRamRd信号,经锁存后应命名为CpuRamRd_r。

低电平有效的信号经过锁存器锁存后,其命名应在_n后加r。

如:CpuRamRd_n信号,经锁存后应命名为CpuRamRd_nr多级锁存的信号,可多加r以标明。

如:CpuRamRd信号,经两级触发器锁存后,应命名为CpuRamR d_rr。

2.5.2 模块命名规则HDL语言的模块类似于C语言中的函数,可采用C语言函数的大多数规则。

模块的命名应该尽量用英文表达出其完成的功能。

遵循动宾结构的命名法则,函数名中动词在前,并在命名前加入函数的前缀,函数名的长度一般不少于2个字母。

零基础学MQL4编程

零基础学MQL4编程

零基础学MQL4编程特别说明:本文中主要内容来源于英文版MQL4 Reference 摘译,本人在MQL4 Reference基础上进行了摘译、整理,加入了部分通俗的文字说明和简明易懂的图片示例等,目的是更易于初学者上手。

如有侵权,请及时联系本人删除。

第一部分初识MQL4一、MQL4概述MetaQuotes Language 4(MQL4)是用于编程交易策略和或自定义指标等的内置语言。

该语言由MetaQuotes Software Corp根据其在创建在线交易平台方面的长期经验开发。

使用这种语言,您可以创建自己的智能交易系统,使交易管理自动化。

这非常适合实施您自己的交易策略。

此外,使用MQL4,您可以创建自己的技术指标(自定义指标),脚本和库。

MetaQuotes Language 4(MQL4)是面向对象的高级编程语言,用于编写自动交易策略,用于分析各种金融市场的自定义技术指标。

它不仅可以编写各种设计用于实时操作的专家系统,还可以创建自己的图形工具来帮助您做出交易决策。

MQL4基于流行编程语言C ++的概念。

该语言具有枚举,结构,类和事件处理。

通过增加嵌入式主类型的数量,MQL4中的可执行程序与其他应用程序之间通过dll的交互现在变得越来越简单。

MQL4语法类似于C ++的语法,可直接对C/C++语言的程序进行编译。

MQL4包含了分析当前和以前收到的报价所需的大量函数,并且具有用于管理交易订单并对其进行控制的内置基本指标和函数。

MetaEditor(文本编辑器)突出显示不同的MQL4语言结构,用于编写程序代码。

它可以帮助用户很容易地在专家系统(也叫智能交易系统)文本中定位自己。

简要指南包含函数、操作、保留字和其他语言结构,并将其分为不同的类别。

MetaQuotes Language 4可以编写具有不同功能和用途的程序:(一)、智能交易系统(EA) 这是连接到某个图表的机械交易系统。

当启动交易系统后,EA开始运行,处理以下事件:初始化事件和取消初始化事件,新的订单接收发送事件,计时器事件,市场变化事件深度,图表事件和自定义事件。

【MQL4】MQ语言简单说明与教程

【MQL4】MQ语言简单说明与教程

【MQL4】MQ语言简单说明与教程MQL II语言包括大量的用于控制现在和过去的报价、主要算法、逻辑运算的变量,并在建立主要指示器以及指示开立和控制头寸方面起关键作用。

这种语言是同TRADERSTION技术公司开发的EASY语言是相类似的,但它有一些特殊功能。

程序代码是由METAEDITOR文字编辑器编写的,它能将MQL II 不同部分设定为不同颜色,因而,可帮助用户以// 标记(双斜线)开始通过专家系统文本注释。

注释也可以用斜线星号星号斜线(/*(注释)*/,即如C语言一样)来标记。

编辑器是固定以灰色显示注释。

为了建立和控制投资交易战略,客户必须有一有关记录信号产生、变动的进行交易的结果的信息的日志文件。

人工智能系统的日志是在环球银行客户目录中的/logs/YYYYMMDD.log 文件下。

当前日志可直接访问下级终端窗口。

若要访问MQL II 语言的目录系统,就需要打开METAQOUTES语言窗口或者按下字典按钮或从工具菜单中查找,这使得用户能获取每一用该语言的信息的详细数据。

1.主要语言结构同其它语言一样,MQL II有一套主要的元素来构建他的主要结构。

这些元素应以特殊的方式组合与安排,用以表示特定的语句和公式。

语言的主要对象是数据,即三种类型的数据:数值型、逻辑型、字符型。

所有的数值型都用双重格式,逻辑型数据为真或假,字符串是用省略号标记的一串字符。

字符串又名为文本串。

数据可包括不同类型的变量,也可直接表示为源程序正本。

每一个METAQUOTES语句都是一完整结构,可以包含固定词、操作指令、数据、变量、表达式、标点符号,通常是以分号结束。

固定语句是指预先确定的具有特殊和具体意义的词汇。

操作指令是指定特定数据、变量、表达式操作的符号。

变量通常包含数值、字符、逻辑型数据。

表达式是指固定语句、变量、操作指令、数据的联合体,是语言中三种类型数据即数值型、字符型、逻辑型数据综合运用的结果。

标点符号是用来描述表达式、定义参量、划分句子以及数列再排序的。

4GL语言开发原则及规范--简化版

4GL语言开发原则及规范--简化版

4GL语言开发原则及规范中科软件股份有限公司2002年04月27日目录1编码规范 (1)1.1命名规范 (1)1.1.1对象命名 (1)1.1.2常量和变量命名 (5)1.2注释规范 (7)1.2.1程序文件部分的注释 (8)1.2.2函数部分的注释 (9)1.2.3函数(过程)程序的增、删、改的注释说明约定 (11)1.2.4函数体内部的代码段修改注释 (12)1.2.5函数体内部的代码段说明约定 (13)1.3书写规范 (13)1.3.1基本原则 (13)1.3.2保留字引用规则 (14)1.3.3LET语句 (14)1.3.4IF语句 (15)1.3.5DEFINE语句 (15)1.3.6CALL语句 (16)1.3.7函数体内部组织 (16)1.4注意事项 (18)1编码规范1.1命名规范1.1.1对象命名1.1.1.1数据库命名规范●数据库名长度:不超过INFORMIX规定长度(十八位);●采用英文形式,规则如下:数据库名由两部分组成:系统名+DB;PrpInsDB系统名由英文单词构成,每个单词首字母大写,单词可采取缩写形式;●附表提供的词根表作为构词的唯一依据。

●本小节规范适用于各种语言版本的系统。

1.1.1.2数据库表命名规范●数据库表名长度:不超过INFORMIX规定长度(十八位);●采用英文和“_”组成形式,规则如下:数据库表名由三部分组成:系统名+业务类型+表的英文名(+“_”+子对象名),业务类型用1位大写字母表示,如承保业务为C、批改业务为P、理赔业务为L、收付费业务的数据表为J、通用代码为D;PrpCmain;货物运输保险保单信息表(继承了保单基本信息):PrpCmain_Cargo。

●业务类型采用附表提供的词根表中规定的字母;表名由英文单词构成,保险类别和业务类型的首字母大写,表的英文名采取小写形式,单词可采取缩写形式;●当一个对象继承主对象时,体现在数据表上则使用“_”分割;:货物运输保险保单信息表,继承了保单基本信息。

INFORMIX--4GL新手进阶整理

INFORMIX--4GL新手进阶整理

INFORMIX--4GL新手进阶整理Informix - 4GL 初级进阶Informix - 4GL 初级进阶 (2)第一章 INFORMIX-4GL基本组成 (2)第二章 INFORMIX-4GL的处理逻辑 (5)第三章 INFORMIX-4GL中的数据类型 (10)第四章定义程序变量 (19)第五章函数间传值 (24)第一章INFORMIX-4GL基本组成程序INFORMIX-4GL中的程序可以处理大量的应用需求,可以管理小型商业或主要银行的资金。

INFORMIX-4GL程序包括执行特定函数所需的所有部分。

程序:为解决一个问题或处理数据由计算机执行的操作逻辑顺序。

模块文件INFORMIX-4GL的一个构件是模块(module),模块是INFORMIX-4GL指令的机器文件,是整个程序的一部分。

把一组模块组合在一起,就成为整个程序,上图中有三个模块,合在一起就组成了客户程序。

在上图,跟踪记录客户的程序分成了三个模块,每个模块有其特殊的作用,cust_main.4gl模块用于驱动和控制程序,cust_add.4gl模块用于管理新增客户记录,cust_edit.4gl模块包括改变或删除客户记录的INFORMIX-4GL代码。

GLOBALS:在这个函数只用于说明变量声明语句,它也让其它模块知道变量的存在,每个程序只允许有一个GLOBALS函数。

MAIN:给出INFORMIX-4GL开始的位置,INFORMIX-4GL首先总是先读MAIN函数,MAIN函数驱动程序的其余部分,因此,每个程序要有一个MAIN函数(否则INFORMIX-4GL不知从哪儿开始)执行。

REPORT:它是附加的报表格式化语句,其它的函数如MAIN、GLOBALS和FUNCTION不能处理报表语句。

FUNCTION:这是INFORMIX-4GL代码的基本单元,它不象MAIN和GLOBALS有特殊用处,定义一个函数的目的是什么它就做什么。

大学学生餐厅管理信息系统

大学学生餐厅管理信息系统

1 系统规划系统背景随着计算机技术和现代通信技术的发展,人类已经步入数字化和网络化为特征的知识经济时代,人们对各种信息量的需求也逐渐增大。

由于当前学校的规模不断扩大,学生数量不断增加,学生信息量也不断增长,食堂管理工作成为学校各项管理工作的一个重要部分,学校后勤管理工作也日趋繁杂,众多的学生和教工食堂地理位置分散,又要实现统一的协调管理,面对庞大的工作量,如何有效提高食堂管理工作的效率是学校急需解决的问题。

同时,随着我校高速发展以及不断地扩招,我们可以发现由于西校区人数众多,中午时间吃饭人员无法分散,造成食堂窗口大面积拥堵,北村餐饮一条街人山人海,连站着的地方都没有,通常情况是下课以后如果跑的不快的话,往往要等上20多分钟才能顺利就餐。

这一状况不仅造成一些同学在中午临近下课时不能专心听讲,接近半个小时听课效率低下,而且中午时间众多的就餐人员造成了食堂工作人员的高负荷工作,同时失误增加,例如经常出现算错就餐费用的情况,做错饭菜的情况等一系列错误。

为了有效解决以上问题,就不得不借助现代化的管理模式——网络管理模式。

这样不仅提高了工作效率,也避免了以前手工作业的麻烦,从而使得管理者能够准确,有效的管理餐饮。

学校食堂管理信息系统是一个实用并且是与我们的学校生活密切相关的一个管理信息系统;如果能够很好的研究、开发并加以利用,那么就会提高食堂的效益,降低食堂的成本,降低食堂的饭、菜价从而能够给学校的学生带来莫大的利益和好处。

本文首先对学位生食堂管理信息系统进行需求分析,阐述高校食堂管理工作流程,分析高校食堂管理存在的问题并提出如何用管理信息系统的方法来解决存在问题。

信息管理系统(MIS)是一门新兴的、集管理科学、信息科学、系统科学及计算机科学为一体的综合型学科,研究的是信息管理活动的全过程,以便有效地管理信息,提供各类管理决策信息,辅助企业进行现代化管理。

管理信息系统具备数据处理、计划、控制、预测和辅助决策功能,具体作用如以下5点内容:(1)用统一标准处理和提供信息,排除使用前后矛盾的不完善的数据。

INFORMIX-4GL实用手册(四)(1)

Informix-SPL(过程)语法详解Informix数据库用户一般都熟悉的使用SQL语句进行简单的查询和统计,而在Informix-Online的数据库服务器中提供了用结构化查询语言SQL语句和流程控制存储语言SPL创建存储例程,以减少Informix的处理。

存储例程是SQL语句和SPL的集合。

它们存放在数据库中,SQL语句会被分析.优化,在例程的执行中,高速缓存中会有一执行规划,使后续操作的执行速度很快。

而单独的SQL语句只有在执行时才会被优化,并且存储例程可以被不同的开发工具调用(4GL、ESQL/C、POWERBUILDER.DELPHI),在SELECT 语句中也调用过程。

例程调试简单,不必重新编译应有软件包。

在例程创建时Informix查询处理器会分析它,并产生一执行规划,永久存放于SPROCEDURES.SYSPROBODY.和SYSPROPLAN中,其后例程按此规划执行,由于大部分查询处理已经完成,存储例程可以在瞬间执行完毕。

由于存储例程所具有的优越性,它已成为进行Informix数据库核心开发的有力工具,掌握它对Informix的开发人员有积极意义,现将我在实际工作中使用的语法和例子详解于下,疏漏和错误请来信指教。

1.创建和执行例程①.创建例程语法:CRAETEPROCEDURE[OWNER.]PROCEDURE_NAME(参数1参数类型=[DEFAULT],参数2参数类型=[DEFAULT],参数n参数类型=[DEFAULT])RETURNING值1类型,值2类型,值n类型;<......>语句体;ENDRPOCEDURE例程大小不可超过64K,这包括所有的SQL.SPL.空格.跳格符,例程名最多18个字符,并在数据库中唯一存在,语句间用";"分隔,例程只能在当前数据库中创建,例程创建后是一标准执行模板块,可在不同的应有中对其调用,这对开发不同版本的应用将更为便利。

03173软件开发工具-总复习

课程性质本课程是高等教育自学考试“计算机信息管理”专业自学考试计划中,本科阶段的一门专业课程,开发软件能力是本专业学生必备的条件之一,本课程的目的是使学生在学习程序设计的基本知识之后,进一步了解和掌握软件开发的各类工具,从而提高软件开发能力与水平,以适应未来工作的需要。

本课程不是只介绍若干常用的软件开发工具,使学员只是站在一般程序员的角度,而是要从软件开发的组织者的高度,全面地认识与考虑软件开发的过程、组织等问题。

本课程既有一定的理论基础,又有实际上机操作作为背景。

因此。

学生应当结合自己的实践经验,认真从实践提高到理论,建立软件工程与软件开发工具的思想方法。

课程特点理论部分1章,作为导言,概括地介绍软件开发工具的由来,概念,功能,性能,类别与使用环境。

理论部分2-4章,主要介绍了软件工程与程序设计学的基础知识;软件开发工具的有关理论基础知识,包括概念模式,信息库,人机界面,项目管理;软件开发工具各方面的技术状况。

这部分是本课程理论知识的核心部分。

理论部分5-6章,主要介绍了人们在面对具体问题时,是购买现成的工具还是自行开发,以及需要考虑的各个因素;了解软件开发工具技术领域的发展现状和趋势。

实践部分7-8章,介绍Eclipse是什么,历史,用途以及体系结构,详细描述了Eclipse 和JDK安装方法,着重介绍了Eclipse工作台的各个部分及基本功能,详细介绍了Eclipse中的透视图,视图,编辑器。

实践部分9-11章,介绍了MinGW和CDT的概念和安装方法,并着重介绍了使用Eclipse 创建项目,源文件夹,类以及Eclipse重构功能。

最后介绍了Eclipse CDT常用功能:编辑器自定义,定制工作台,格式化代码,生成历史记录。

实践部分12-14章,介绍了版本管理软件CVS的使用,Eclipse插件的开发,最后介绍了Rational Rose建模工具的使用。

基本要求1、系统了解与掌握软件开发过程及其管理工作,深人理解有关的概念与原则,掌握提高软件质量的基本方法与途径。

零基础学MQL4编程

零基础学MQL4编程特别说明:本文中主要内容来源于英文版MQL4 Reference 摘译,本人在MQL4 Reference基础上进行了摘译、整理,加入了部分通俗的文字说明和简明易懂的图片示例等,目的是更易于初学者上手。

如有侵权,请及时联系本人删除。

第一部分初识MQL4一、MQL4概述MetaQuotes Language 4(MQL4)是用于编程交易策略和或自定义指标等的内置语言。

该语言由MetaQuotes Software Corp根据其在创建在线交易平台方面的长期经验开发。

使用这种语言,您可以创建自己的智能交易系统,使交易管理自动化。

这非常适合实施您自己的交易策略。

此外,使用MQL4,您可以创建自己的技术指标(自定义指标),脚本和库。

MetaQuotes Language 4(MQL4)是面向对象的高级编程语言,用于编写自动交易策略,用于分析各种金融市场的自定义技术指标。

它不仅可以编写各种设计用于实时操作的专家系统,还可以创建自己的图形工具来帮助您做出交易决策。

MQL4基于流行编程语言C ++的概念。

该语言具有枚举,结构,类和事件处理。

通过增加嵌入式主类型的数量,MQL4中的可执行程序与其他应用程序之间通过dll的交互现在变得越来越简单。

MQL4语法类似于C ++的语法,可直接对C/C++语言的程序进行编译。

MQL4包含了分析当前和以前收到的报价所需的大量函数,并且具有用于管理交易订单并对其进行控制的内置基本指标和函数。

MetaEditor(文本编辑器)突出显示不同的MQL4语言结构,用于编写程序代码。

它可以帮助用户很容易地在专家系统(也叫智能交易系统)文本中定位自己。

简要指南包含函数、操作、保留字和其他语言结构,并将其分为不同的类别。

MetaQuotes Language 4可以编写具有不同功能和用途的程序:(一)、智能交易系统(EA) 这是连接到某个图表的机械交易系统。

当启动交易系统后,EA开始运行,处理以下事件:初始化事件和取消初始化事件,新的订单接收发送事件,计时器事件,市场变化事件深度,图表事件和自定义事件。

第四代语言


感谢观看
报表生成器(Report Generator)是为用户提供的自动产生报表的重要工具,它提供非过程化的描述手段让 用户很方便地根据数据库中的信息来生成报表,如ADF。
图形信息较之一维的字符串、二维的表格信息更为直观、鲜明。我们在软件开发过程中所使用的数据流图、 结构图、框图等均是图形。人们自然要设想,是否可以用图形的方式来进行软件开发呢?可见视屏、光笔、鼠标 器的广泛使用为此提供了良好的硬件基础,Windows和X-Window为我们提供了良好的软件平台。较有代表性的是 Gupta公司开发的SQL Windows系统。它以SQL语言为引擎,让用户在屏幕上以图形方式定义用户需求,系统自动 生成相应的源程序(还具有面向对象的功能),用户可修改或增加这些源程序,从而完成应用开发。
第四代语言
计算机术语
01 基本概述
03 的分类
目录
02 程序设计 04 的发展
第四代语言(Fourth-Generation Language,以下简称4GL)的出现是出于商业需要。4GL这个词最早是在80 年代初期出现在软件厂商的广告和产品介绍中的。因此,这些厂商的4GL产品不论从形式上看还是从功能上看, 差别都很大。但是人们很快发现这一类语言由于具有“面向问题”、“非过程化程度高”等特点,可以成数量级 地提高软件生产率,缩短软件开发周期,因此赢得了很多用户。1985年,美国召开了全国性的4GL研讨会,也正 是在这前后,许多著名的计算机科学家对4GL展开了全面研究,从而使 4GL进入了计算机科学的研究范畴。
其原意是非过程化程序设计语言,是针对以处理过程为中心的第三代语言提出的,希望通过某些标准处理过 程的自动生成,使用户只说明要做什么,而把具体的执行步骤的安排交软件自动处理。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4GL语言开发原则及规范中科软件股份有限公司2002年04月27日目录1编码规范 (1)1.1命名规范 (1)1.1.1对象命名 (1)1.1.2常量和变量命名 (5)1.2注释规范 (7)1.2.1程序文件部分的注释 (8)1.2.2函数部分的注释 (9)1.2.3函数(过程)程序的增、删、改的注释说明约定 (11)1.2.4函数体内部的代码段修改注释 (12)1.2.5函数体内部的代码段说明约定 (13)1.3书写规范 (13)1.3.1基本原则 (13)1.3.2保留字引用规则 (14)1.3.3LET语句 (14)1.3.4IF语句 (15)1.3.5DEFINE语句 (15)1.3.6CALL语句 (16)1.3.7函数体内部组织 (16)1.4注意事项 (18)1编码规范1.1命名规范1.1.1对象命名1.1.1.1数据库命名规范●数据库名长度:不超过INFORMIX规定长度(十八位);●采用英文形式,规则如下:数据库名由两部分组成:系统名+DB;PrpInsDB系统名由英文单词构成,每个单词首字母大写,单词可采取缩写形式;●附表提供的词根表作为构词的唯一依据。

●本小节规范适用于各种语言版本的系统。

1.1.1.2数据库表命名规范●数据库表名长度:不超过INFORMIX规定长度(十八位);●采用英文和“_”组成形式,规则如下:数据库表名由三部分组成:系统名+业务类型+表的英文名(+“_”+子对象名),业务类型用1位大写字母表示,如承保业务为C、批改业务为P、理赔业务为L、收付费业务的数据表为J、通用代码为D;PrpCmain;货物运输保险保单信息表(继承了保单基本信息):PrpCmain_Cargo。

●业务类型采用附表提供的词根表中规定的字母;表名由英文单词构成,保险类别和业务类型的首字母大写,表的英文名采取小写形式,单词可采取缩写形式;●当一个对象继承主对象时,体现在数据表上则使用“_”分割;:货物运输保险保单信息表,继承了保单基本信息。

附表提供的词根表作为构词的唯一依据。

●本小节规范适用于各种语言版本的系统。

1.1.1.3数据库字段命名规范●字段长度:不超过INFORMIX规定字段长度(十八位);●采用英文形式,规则如下:1.字段名由英文单词构成,每个单词首字母大写;保单号码:PolicyNo2.一个字段名所用的单词不超过5个,在字段名不超过规定长度的情况下,尽量采用英文单词的全称;3.在字段名总长度超长的情况下,不缩略核心单词,其他单词缩略不短于3个字母;4.形容词定语放在所修饰名词的后面;SumLoss●附表提供的词根表作为构词的唯一依据。

●本小节规范适用于各种语言版本的系统。

1.1.1.4程序(文件)模块命名●长度:不超过INFORMIX规定长度(十位);●采用英文形式,规则如下:以对象名开头(第一个字母大写),后接对象操作名(第一个字母大写);●命名规则:ObjectOpt.4gl 其中,Object 是对象名。

数据层默认为基本表名。

如果表名超过10位。

则按照缩略规则执行。

●BL层模块划分及命名:原则上每个BL层的对象对应两个模块,一个对象主模块,一个模块存放归属于该对象的模块变量。

当且仅当主模块中内容过多时,按照如下规则划分:objectRd.4gl:存放涉及到查询(读)数据库的服务函数objectWt.4gl:存放涉及到更新(写)数据库的服务函数objectTx.4gl:存放事务服务函数objectLg.4gl:存放不涉及数据库操作的服务函数●DB层模块划分及命名:全局动态数组(DE):对于数据层的实体对象服务模块,它们一般由工具生成,文件名一般要与实体对象名一致,除非表名超过10位,此时参考词根表进行命名。

注意表名或者词根表是命名仅有的参考依据。

另外,除了通用服务以外,有些实体对象需要一些扩展的服务,这些服务放在实体对象服务模块的最后定义;1.1.1.5函数命名规范采用由大小写英文字母和“_”组成方式,规则如下;●直接调用的工具函数命名公式pub_” + ”对象名” + ”_” + “函数名”其中:对象名和函数名区分大小写●对象服务函数命名由于INFORMIX-4GL语言不是面向对象的开发语言,因而在程序设计中的对象服务是以函数的方式体现的;●一般函数命名公式:作用范围+”_”+对象名+”_”+对象的方法其中:作用范围包括pub/pri,对象名和方法名区分大小写BLPrpDrisk的增加操作add 所对应的函数名为:pub_BLPrpDrisk_Add数据层代码对象DBPrpDcode 的delete 操作所对应的函数名为:pub_DBPrpDcode_Delete界面层保单对象 UIPolicy 的录入操作对应的函数名为:pub_UIPolicy_Input 事务型的函数(或模块)命名规范参见3.2.5(数据库事务编写约定)●数据层扩展服务函数命名:如果存在某数据表TableName的数据层服务,其功能是获取表中某字段ColumnName的最大值,则该数据层服务函数名定义为:pub_DBTableName_GetMaxColumnName如果某两层结构数据表TableName的字段名为Col,现存在数据层服务,其功能是根据Col删除表中数据,则该数据层服务函数名定义为:pub_DBTableName_DeleteByCol如果某两层结构数据表TableName主键为id和no,每个id下包括若干no,现存在数据层服务,其功能是根据id删除表中数据,则该数据层服务函数名定义为:pub_DBTableName_DeleteByIN如果某数据表TableName主键为id、no和col,现存在数据层服务,其功能是根据id和no删除表中数据,则该数据层服务函数名定义为:pub_DBTableName_DeleteByINC也就是说,此时只取涉及的字段的首字母,写在函数名的最后。

1.1.1.6屏幕表格命名●屏幕FORM名应与相关数据表或主调用文件保持一致;●采用英文形式,规则如下:以对象名开头(第一个字母大写),后接对象操作名(第一个字母大写);命名规则:ObjOpt.per,其中Obj是对象名,Opt是对象操作名。

CmainInp.per“保单查询”屏幕表格名为CmainQry.per“保单清单显示”屏幕表格名为CmainLst.per如果一个屏幕表格被用于录入、查询等多种功能,功能名为:main;CmainMain.per如果一个屏幕表格被用于非录入、查询等多种功能,功能名为:pub。

CmainPub.per●屏幕记录:以小写字母命名,形式为sc_tablename●屏幕数组:以小写字母命名,形式为sa_tablename1.1.1.7窗口和游标命名采用由小写英文字母和“_”组成方式,规则如下;●窗口命名以功能名开头,后接win,以“_”分隔。

加。

功能名为 grade_add,则窗口命名为:grade_add_win。

OPEN WINDOW grade_add_win AT 2,2WITH FORM “GradeMain”……CLOSE WINDOW grade_add_win游标命名游标的命名规则同窗口,只不过以cur结尾;+游标的方式从表prpgrade获取数据。

设功能名为prpgrade_sel,则预处理命名为:prpgrade_sel_pre,游标命名为prpgrade_sel_cur PREPARE prpgrade_sel_pre FROM lv_sqlDECLARE prpgrade_sel_cur CURSOR FOR prpgrade_sel_preFOREACH prpgrade_sel_cur INTO sel_var_listEND FOREACH如果在同一个程序模块内,游标的命名重复,可在结尾处加序号与以区别,序号从1开始,依次递增。

1.1.2常量和变量命名命名公式:常量名称=变量作用域前缀+变量类型+’_’+自定义名称注意:自定义名称要有一定的意义且整个常量名称全部大写变量名称=变量作用域前缀+变量类型+’_’+自定义名称注意:自定义名称要有一定的意义且整个常量名称全部小写除了对象之外,常量和变量也需要良好格式的命名约定。

常量或变量应该总是被定义在尽可能小的范围内。

全局 (Global) 变量可以导致极其复杂的状态机构,并且使一个应用程序的逻辑非常难于理解。

全局变量也使代码的重用和维护更加困难。

较好的编码习惯是尽可能写模块化的代码。

除了全局变量(应该是不被传递的),过程和函数应该仅对传递给它们的对象操作。

在过程中使用的全局变量应该在过程起始处的声明部分中标识出来。

描述变量变量主体应该使用小写形式,并且应该足够长以描述它的作用。

对于频繁使用的或长的项,推荐使用标准缩略语以使名称的长度合理化。

当使用缩略语时,要确保它们在整个应用程序中的一致性。

在一个工程中,如果一会儿使用proposalno 代表投保单号码,一会使用prpsalno 代表保单号码,将导致不必要的混淆。

变量使用遵循如下几条规则:●函数内部定义的每一个变量在使用之前都必须初始化,初始化区域以/--@INIT开头和-/结尾。

●便于工具能够定期检查变量是否初始化或者初始化是否正确,在函数内部的变量初始化区域,严格按照上述规定检查;●对于数组的初始化,必须采用INITIALIZE数组 TO NULL,不要采用循环一条条记录进行初始化,除非需要针对数组记录中的某个字段特殊赋值;比如:定义数组变量la_prptplan ARRAY[20] OF RECORD LIKE PrpTplan.*,初始化时直接用INITIALIZE la_prptplan TO NULL,不要使用:FOR i=1 TO 20INITIALIZE la_prptplan[i].* TO NULLEND FOR●对象化后的系统不允许使用模块变量;●终端版系统应优化算法,尽量避免使用数组,不允许使用大数组;变量定义及初始化举例如下:FUNCTION pub_BLPrpCaddress_Ini( )DEFINE lr_prpcaddress RECORD LIKE PrpCaddress.*,la_prpcaddress ARRAY[20] OF RECORD LIKE PrpCaddress.*, lv_prpcaddress_count SMALLINT,lv_result INTEGER#/--@INIT#--变量初始化INITIALIZE lr_prpcaddress.* TO NULLINITIALIZE la_prpcaddress TO NULL #--初始化数组变量LET lv_prpcaddress_count=0LET lv_result=0#-/CALL pub_DEPrpCaddress_GetRec() RETURNING lr_prpcaddress.* ……END FUNCTION1.2注释规范良好的程序注释有助于帮助我们了解程序的实现,也可以对程序文件进行一定量统计分析。

相关文档
最新文档