编写目的
本规范定义为程序在编写过程中涉及到的程序文件和编码风格。本规范以 Delphi 语言为标准制定.

项目文件的组织
在Delphi中,按照项目为单位来组织程序文件。在一个典型的项目中包括:
项目文件(.DRP文件)
含有工程主程序的Pascal源代码;
单元文件(.PAS文件)
项目中每个窗体的Pascal源文件,包含该窗体的所有声明和过程(包括时间处理过程);
窗体文件(.DFM文件)
含有一个窗体的设计属性的二进制文件,每个窗体的.DFM文件与.PAS文件相互对应;
资源文件(.RES文件)
编译的二进制资源文件,被链接到应用程序的可执行文件中;
项目选项文件(.DOF文件)
存储了Project|Options菜单命令所设置的项目选项;
桌面设置文件(.DSK文件)
存储了Tools|Options菜单命令所设置的桌面选项;
包文件(.DPK/.BPL文件)
用于共享组件、类、数据和代码的文件。源文件为.DPK文件,编译后为.BPL文件;

常量定义
内容:
逻辑值的定义;
常数值的定义;
错误码的定义;

格式:一个定义占一行。如下:
Const <常量> : 类型 = 值;  //注释
 说明:
        使用 Const 语句来声明用于代替文字值的常数。

示例:Const C_SQL:string='select CH_USERER_ID from T_CD_USER'; //查询用户ID
Const C_PI:real =3.1415926;   //圆周率
结构类型定义
内容:结构类型定义
格式:
Type 
<类型名>       //结构说明注释
    <变量名1> : 变量类型;       //变量说明注释
    <变量名2> : 变量类型;       //变量说明注释

End ;

说明:
<类型名>是以大写字母开头的字符串。结构定义中定义变量类型的语句从第二行第五列开始。

示例:
type
TableList=record   //系统树单元类型定义
  InID: Integer;      //单元编号
  Name: string;     //单元名称
  PID: string;      //上一级单元名称
  PT: PTableList;   //指向下一单元类型的指针
  end;

程序风格

程序风格规定了每个语句的定位规则及程序中的注释。
函数(function)/过程(procedure)风格
<function/procedure> Name (变量: 变量类型[,…]);//函数/过程说明
var
  变量1:变量类型;//变量说明
  变量2:变量类型;//变量说明
  …
begin
  语句;
  语句;
  ……
end ;
注: 变量声明、语句均从第三列写起,如有缩进,每次缩进两列,并与相对应语句对齐。

语句风格
说明:
在程序体中通常最多每十行有一个段落功能说明;
规范使用各种语句;
语句中有缩进是以二列为单位。

变量定义语句
var 
var_name : <数据类型>;

赋值语句
var_name: = <表达式>;

条件语句
if 条件 then    //注释
begin
  语句;
  …
end    
else if 条件 then   //注释
  begin
    语句;
    ...
  end
else       //注释
  语句;
注:如果执行语句只有一句,可省略begin、end语句。
循环语句
//循环功能注释
for counter := start to end do
begin
  [语句];
  …
end;

//循环功能注释

while [condition] do
begin
  [语句];
  …
end;

//循环功能注释
repeat
  [语句];
  …
until [condition]

开关语句
//开关功能说明
case <表达示> of
  <值1>:[语句1];
  <值2>:[语句2];
  …
  <值n>: [语句n]
end;

注释行
在程序代码单元文件顶端必须拥有本单元文件“模块说明”及“单元说明”注释。
对于常量、结构类型、函数/过程、自定义变量、代码段功能块、关键语句等有含义的代码部

分,必须有注释行进行详细说明。
注释行可在需说明部分行后以“//XXXXXXXX”方式添加,也可在需说明部分行上

以“{XXXXXXXX}”方式添加多行或以“//XXXXXXXX”方式添加一行。

文件及窗体命名
  含义            类名               命名格式
工程文件       Program(.DPR)        XXXXX
  单元          Unit(PAS)       uXXXXX
  窗体       Form.Name(.DFM)       XXXXXFrm
数据模块  DataModule       XXXXXDM

单元头定义,添加到每个单元的前面。
{*****************************************************
单元名称:
功能描述:
作者:
软件名称:
版本:
公司名称:刀剑如梦软件创作室
***************************************************** }

软件版本号格式定义:
软件中采用如下的版本号格式:X.X.X.X
例如:可发布的程序完成后将版本号标为”1.0.0.0”
第一位:版本号。注:软件又重大的改进后形成的版本。
第二位:维护号。注:已有的版本的基础上修改了某些错误形成的版本。
第三位:补丁号。注:当程序修改某些错误,未形成新的维护号时,用补丁号。
第四位:修正号。注:当出现紧急程序错误时,修改后程序用作标识,不作为发布程序的版本号。

ZT: Delphi编程规范1.0.0.0 (yckxzjj )相关推荐

  1. 一公司C#编程规范v2.0(转)

     C#编程规范 Version 2.0 目录 第一章 概述      4 规范制定原则      4 术语定义      4 Pascal 大小写      4 Camel 大小写      4 文件 ...

  2. C# 语言规范_版本5.0 (第10章 类)

    1. 类 类是一种数据结构,它可以包含数据成员(常量和字段).函数成员(方法.属性.事件.索引器.运算符.实例构造函数.静态构造函数和析构函数)以及嵌套类型.类类型支持继承,继承是一种机制,它使派生类 ...

  3. 选择 Delphi 2007 ( CodeGear Delphi 2007 for Win32 Version 11.0.2837.9583 ) 的理由

    选择 Delphi 2007 ( CodeGear Delphi 2007 for Win32 Version 11.0.2837.9583 ) 的理由 我不喜欢用InstallRite的全自动安装包 ...

  4. python编辑器编程猫_编程猫Python编辑器 Mac版0.4.0 下载 - 51下载网

    Tags: 编程工具 51下载网提供Python编辑器<编程猫Python编辑器 Mac版>0.4.0 下载,该软件为免费软件,文件大小为55.2 MB,推荐指数3颗星,作为国产软件中的顶 ...

  5. scratch(图形化编程工具)3.28.0版本更新了!

    点击上方蓝字关注我们 开工大吉,2022年目标是永久会员在服务200人,达到300永久会员规模. 我的永久会员购买链接: 永久会员包含很多资料,电子资料我都放在QQ群的群资料中,放百度网盘容易丢失和被 ...

  6. 操作系统多重引导规范:Multiboot Specification 0.6.93(中文版)

    Multiboot规范 本文定义了Multiboot规范--提议中的引导过程标准.本文是此规范的0.6.93版. 1. Multiboot规范简介本章描述了一些关于Multiboot规范的粗略的信息. ...

  7. Delphi代码格式化工具(DelForExp) v2.6.0

    DELPHI程序错误解决: Unable to invoke Code Completion due to errors in source code 程序还能正常运行,但是程序不能自动提示了,要一个 ...

  8. PBOC规范(2.0-3.0)对照表

    1    数据方面 TAG                                               PBOC2.0                                 ...

  9. C/C++编程学习 - 第4周 ④ 0与1

    题目链接 题目描述 小蒜上了他的第一堂计算机概论,老师说计算机内部是由很多的小开关来组成:1 代表开.0 代表关.于是聪明的小蒜便了解了,原来我们平常使用电灯开关就是把 1 变成 0.0 变成 1 嘛 ...

最新文章

  1. emacs python环境配置
  2. 面试者被公司粗暴对待,进门讲了三句话被赶出:包括一句你好
  3. 几种开源SIP协议栈对比OPAL,VOCAL,sipX,ReSIProcate,oSIP
  4. stm32 交换机芯片_基于STM32的全链路语音交互 - stm32/stm8 - 电子工程世界
  5. 牛客 - 动物森友会(二分+最大流)
  6. 2021-10-25 Vue异步操作
  7. 数组指针 vs 指针数组
  8. Leetcode669.Trim a Binary Search Tree修建二叉树
  9. 【转】Java集合间的相互转换
  10. Android Studio官方文档之添加URL和App索引支持
  11. Sa-token 之 SaManager
  12. Formality笔记
  13. OH~My Godness ~!被点到了...
  14. 赛普拉斯CYpress,初接触之一电磁感应触摸按键demo
  15. Javascript 设计模式之外观模式【讲师辅导】-曾亮-专题视频课程
  16. NCAE(全国工业和信息化应用人才考试 )-- 服务外包 JAVA 软件开发复习整理(二)
  17. Latch-up初认识
  18. 1071 小赌怡情 (15分)
  19. TPS61088RHLR升压芯片
  20. awk中引用shell变量执行替换的脚本

热门文章

  1. 关于ckeditor的配置
  2. mysql单库tps_简单计算mysql 的QPS,TPS
  3. Thinkphp3.2在IIS中使用ISAPI_Rewrite去除index.php
  4. 工作中学习,学习中成长
  5. Android SqlLite数据库的创建、增、删、改、查、使用事务
  6. 接口——从事物的共同点出发
  7. 头文件malloc.h:函数 mallopt()的选项
  8. KB/MB/GB/TB之间的换算是乘以1000还是1024?
  9. [读后感] 20170630 产品经理米衙的感悟
  10. 简书留言收费可行性评估