編寫(xiě)目的
本規(guī)范定義為程序在編寫(xiě)過(guò)程中涉及到的程序文件和編碼風(fēng)格。本規(guī)范以 Delphi 語(yǔ)言為標(biāo)準(zhǔn)制定.
項(xiàng)目文件的組織
在Delphi中,按照項(xiàng)目為單位來(lái)組織程序文件。在一個(gè)典型的項(xiàng)目中包括:
項(xiàng)目文件(.DRP文件)
含有工程主程序的Pascal源代碼;
單元文件(.PAS文件)
項(xiàng)目中每個(gè)窗體的Pascal源文件,包含該窗體的所有聲明和過(guò)程(包括時(shí)間處理過(guò)程);
窗體文件(.DFM文件)
含有一個(gè)窗體的設(shè)計(jì)屬性的二進(jìn)制文件,每個(gè)窗體的.DFM文件與.PAS文件相互對(duì)應(yīng);
資源文件(.RES文件)
編譯的二進(jìn)制資源文件,被鏈接到應(yīng)用程序的可執(zhí)行文件中;
項(xiàng)目選項(xiàng)文件(.DOF文件)
存儲(chǔ)了Project|Options菜單命令所設(shè)置的項(xiàng)目選項(xiàng);
桌面設(shè)置文件(.DSK文件)
存儲(chǔ)了Tools|Options菜單命令所設(shè)置的桌面選項(xiàng);
包文件(.DPK/.BPL文件)
用于共享組件、類(lèi)、數(shù)據(jù)和代碼的文件。源文件為.DPK文件,編譯后為.BPL文件;
常量定義
內(nèi)容:
邏輯值的定義;
常數(shù)值的定義;
錯(cuò)誤碼的定義;
格式:一個(gè)定義占一行。如下:
Const <常量> : 類(lèi)型 = 值; //注釋
說(shuō)明:
使用 Const 語(yǔ)句來(lái)聲明用于代替文字值的常數(shù)。
示例:Const C_SQL:string=‘select CH_USERER_ID from T_CD_USER‘; //查詢(xún)用戶(hù)ID
Const C_PI:real =3.1415926; //圓周率
結(jié)構(gòu)類(lèi)型定義
內(nèi)容:結(jié)構(gòu)類(lèi)型定義
格式:
Type
<類(lèi)型名> //結(jié)構(gòu)說(shuō)明注釋
<變量名1> : 變量類(lèi)型; //變量說(shuō)明注釋
<變量名2> : 變量類(lèi)型; //變量說(shuō)明注釋
…
End ;
說(shuō)明:
<類(lèi)型名>是以大寫(xiě)字母開(kāi)頭的字符串。結(jié)構(gòu)定義中定義變量類(lèi)型的語(yǔ)句從第二行第五列開(kāi)始。
示例:
type
TableList=record //系統(tǒng)樹(shù)單元類(lèi)型定義
InID: Integer; //單元編號(hào)
Name: string; //單元名稱(chēng)
PID: string; //上一級(jí)單元名稱(chēng)
PT: PTableList; //指向下一單元類(lèi)型的指針
end;
程序風(fēng)格
程序風(fēng)格規(guī)定了每個(gè)語(yǔ)句的定位規(guī)則及程序中的注釋。
函數(shù)(function)/過(guò)程(procedure)風(fēng)格
<function/procedure> Name (變量: 變量類(lèi)型[,…]);//函數(shù)/過(guò)程說(shuō)明
var
變量1:變量類(lèi)型;//變量說(shuō)明
變量2:變量類(lèi)型;//變量說(shuō)明
…
begin
語(yǔ)句;
語(yǔ)句;
……
end ;
注: 變量聲明、語(yǔ)句均從第三列寫(xiě)起,如有縮進(jìn),每次縮進(jìn)兩列,并與相對(duì)應(yīng)語(yǔ)句對(duì)齊。
語(yǔ)句風(fēng)格
說(shuō)明:
在程序體中通常最多每十行有一個(gè)段落功能說(shuō)明;
規(guī)范使用各種語(yǔ)句;
語(yǔ)句中有縮進(jìn)是以二列為單位。
變量定義語(yǔ)句
var
var_name : <數(shù)據(jù)類(lèi)型>;
賦值語(yǔ)句
var_name: = <表達(dá)式>;
條件語(yǔ)句
if 條件 then //注釋
begin
語(yǔ)句;
…
end
else if 條件 then //注釋
begin
語(yǔ)句;
...
end
else //注釋
語(yǔ)句;
注:如果執(zhí)行語(yǔ)句只有一句,可省略begin、end語(yǔ)句。
循環(huán)語(yǔ)句
//循環(huán)功能注釋
for counter := start to end do
begin
[語(yǔ)句];
…
end;
//循環(huán)功能注釋
while [condition] do
begin
[語(yǔ)句];
…
end;
//循環(huán)功能注釋
repeat
[語(yǔ)句];
…
until [condition]
開(kāi)關(guān)語(yǔ)句
//開(kāi)關(guān)功能說(shuō)明
case <表達(dá)示> of
<值1>:[語(yǔ)句1];
<值2>:[語(yǔ)句2];
…
<值n>: [語(yǔ)句n]
end;
注釋行
在程序代碼單元文件頂端必須擁有本單元文件“模塊說(shuō)明”及“單元說(shuō)明”注釋。
對(duì)于常量、結(jié)構(gòu)類(lèi)型、函數(shù)/過(guò)程、自定義變量、代碼段功能塊、關(guān)鍵語(yǔ)句等有含義的代碼部
分,必須有注釋行進(jìn)行詳細(xì)說(shuō)明。
注釋行可在需說(shuō)明部分行后以“//XXXXXXXX”方式添加,也可在需說(shuō)明部分行上
以“{XXXXXXXX}”方式添加多行或以“//XXXXXXXX”方式添加一行。
文件及窗體命名
含義 類(lèi)名 命名格式
工程文件 Program(.DPR) XXXXX
單元 Unit(PAS) uXXXXX
窗體 Form.Name(.DFM) XXXXXFrm
數(shù)據(jù)模塊 DataModule XXXXXDM
單元頭定義,添加到每個(gè)單元的前面。
{*****************************************************
單元名稱(chēng):
功能描述:
作者:
軟件名稱(chēng):
版本:
公司名稱(chēng):刀劍如夢(mèng)軟件創(chuàng)作室
***************************************************** }
軟件版本號(hào)格式定義:
軟件中采用如下的版本號(hào)格式:X.X.X.X
例如:可發(fā)布的程序完成后將版本號(hào)標(biāo)為”1.0.0.0”
第一位:版本號(hào)。注:軟件又重大的改進(jìn)后形成的版本。
第二位:維護(hù)號(hào)。注:已有的版本的基礎(chǔ)上修改了某些錯(cuò)誤形成的版本。
第三位:補(bǔ)丁號(hào)。注:當(dāng)程序修改某些錯(cuò)誤,未形成新的維護(hù)號(hào)時(shí),用補(bǔ)丁號(hào)。
第四位:修正號(hào)。注:當(dāng)出現(xiàn)緊急程序錯(cuò)誤時(shí),修改后程序用作標(biāo)識(shí),不作為發(fā)布程序的版本號(hào)。
聯(lián)系客服