1。仕様の紹介
この仕様は、主に、デルファイソースプログラムが執筆プロセス中に従うべきルールと予防策を規定しています。この仕様を作成する目的は、ソースコードの作成習慣を会社のソフトウェア開発者の習慣を一貫させ続けることです。そうすることで、各グループメンバーが他のグループメンバーのコードを理解して、ソースコードメモリシステムのメンテナンスの二次開発を促進することができます。
2。ユニット形式
2.1基本要件
2.1.1インデント
インデントとは、ソースプログラムのレベルが変更されたときに読みやすさを向上させるためにさらされる2つのスペースです。インデントのルールは、各レベルの2つのスペースをインデントすることです。タブは許可されていません。 TABは、ユーザーが作成したさまざまな設定により、さまざまな効果を生成するためです。遭遇すると、判断を開始または入力すると、ステートメント、レコードタイプの宣言、クラス宣言などがあります。クラス宣言などは1つのレベルで削減されます。
2.1.2開始…終了
Begin StatementとEnd Statementは、ソースプログラムの単一行を占める必要があります。たとえば、:
i:= 0〜10のbegin //誤った使用法
終わり;
i:= 0から10 do //正しい使用法
始める
終わり;
2.1.3スペース
演算子の両端にスペースを追加し、次のような論理判断記号を追加します。i:= i + 1;、a、bなど。
ただし、ブラケットを追加する際にはスペースは必要ありません。
例:if(a> b)および(a
if(a> b)および(a <c)then //正しい使用法
2.1.4変数
略語を使用しないでください。名詞を使用してください
モジュール内のすべてのグローバル変数には、「F」が付いている必要があります。いくつかのモジュール間でデータ交換が必要な場合は、属性を宣言することで実装する必要があります。
2.2ユニットの説明
新しいユニットファイルを作成するときは、まず次の形式でユニットの説明をカスタマイズしてください。
{********************************************* ******** *******
著作権?(c)?2000-2004?*********会社技術開発部
プロジェクト:---このユニットが属するプロジェクト
モジュール:---このユニットが属する機能モジュール
説明:---このユニットの機能
著者:---作成
日付:---作成日
バージョンバージョン番号:
歴史の修正:---歴史的な領域を変更します
{**************************
修正番号:---番号を変更します
修飾子:---変更
DateTime:---時間を変更します
原因:---変更の理由
修正番号:---番号を変更します
修飾子:---変更
DateTime:---時間を変更します
原因:---変更の理由
**********************************
******************************************** ******* *****}
2.3プロセスと関数の説明
{********************************************* ******** *******
prcedureename/functionname:
入力:a ---入力パラメーター説明、b ---入力パラメーター説明、c ---入力パラメーター説明
出力:x ---出力パラメーター説明
const:s ---定数説明、t ---定数説明
var:x ---変数説明、j ---変数説明
説明:----関数の説明
プロセスまたは関数がユニットの作成者によって書かれていない場合は、後で次のアイテムを追加してください。
著者:
日付:
******************************************** ******* *****}
3。コントロールの命名
コントロールの名前は次の略語で使用できますが、使用される略語はコントロール名「_」の間に追加されます。
標準タブ
mm tmainmenu
PM TPOPUPMENU
mmi tmainmenuitem
pmi tpopupmenuitem
lbl tlabel
edt tedit;
mem tmemo
btn tbutton;
CB TCheckbox
RB TRADIOBUTTON
lb tlistbox
CB TCOMBOBOX
SCB TSCROLLBAR
gb tgroupbox
RG Tradiogroup
pnl tpanel
cl tcommandlist
追加のタブ
sg tstringgrid
dg tdrawgrid
IMGタイム
shp tshape
bvl tbevel
sbx tscrollbox
clb tchecklistbox
spl tsplitter
stx tstatictext
CHT TCHART
Win32タブ
tbc ttabcontrol
PGC TPAGECONTROL
ilティマゲリスト
re trichedit
tbr ttrackbar
PRB TPROGRESSBAR
ud tupdown
HKトットキー
ani肌の皮
dtp tdatetimepicker
TV TTreeView
lv tlistview
HDR TheaderControl
stb tstatusbar
TLB TTOOLBAR
clb tcoolbar
[システム]タブ
tm ?? ttimer
pb ?? tpaintbox
mp?tmediaplayer
olec?tolecontainer
ddcc?tddeclientconv
ddci?tddeclientitem
ddsc?tddeserverconv
ddsi?tddeserveritem
?
[サンプル]タブ
gg ?? tgage
cg ?? tcolorgrid
SPB?
spe?
dol?tdirectoryoutline
Cal?tcalendar
Ibea?
?
ActiveXタブ
CFX?
VSP ?? tvsspell
f1b ?? tf1book
VTC ??
grp ?? tgraph
?
Win31タブ
dbll ?? tdblookuplist
dblc ?? tdblookupcombo
ts ???? ttabset
ol ????
tnb ??? ttabbednotebook
nb ???? tnotebook
HDR ???
flb ??? tfileListbox
DLB ??? tdirectoryListbox
DCB ?? tdriveComboBox
fcb ?? tfiltercombobox
MIDASタブ
prv ?? tprovider
CD ?? TCLIENTDATASET
qcds ?? tqueryclientdataset
dcom?tdcomConnection
olee ?? toleenterpriseconnection
sck ?? tsocketConnection
RMS ??
ミッド?? tmidasconnection
インターネットタブ
csk?tclientsocket
ssk?tserversocket
wbd?twebdispatcher
pp ??? tpageProducer
TP ??? tqueryTableProducer
DSTP?
nmdt ?? tnmdaytime
nec ??? tnmecho
nf ???? tnmfinger
nftp ??? tnmftp
nhttp ?? tnmhttp
nmsg ?? tnmmsg
nmsg ?? tnmmsgserv
nntp ??? tnmnntp
npop ??? tnmpop3
nuup ??? tnmuuprocessor
smtp ??? tnmsmtp
nst ???? tnmstrm
ns ??? tnmstrmserv
ntm ??? tnmtime
nudp ?? tnmudp
psk ??? tpowersock
ngs ??? tnm GeneralServer
html?thtml
url??? tnmurl
sml ?? tsimplemail
[データアクセス]タブ
ds?tdatasource
tbl?
QRY?
sp ?? tstoredproc
db ?? tdatabase
ssn?tsession
bm ?? tbatchmove
USQL ?? TUPDATESQL
[データコントロール]タブ
dbg?tdbgrid
dbn ?? tdbnavigator
dbt ?? tdbtext
dbe ?? tdbedit
dbm?tdbmemo
dbi ?? tdbimage
dblb ?? tdblistbox
dbcb??tdbcombobox
dbch?tdbcheckbox
dbrg ?? tdbradiogroup
dbll ?? tdblookuplistbox
dblc ?? tdblookupcombobox
dbre ?? tdbrichedit
dbcg ?? tdbctrlgrid
dbch ?? tdbchart
決定キューブタブ
dcb ?? tdecisioncube
dcq ?? tdecisionquery
dcs ?? tdecisionsource
dcp ?? tdecisionpivot
dcg ?? tdecisionGrid
dcgr?tdecisiongraph
QREPORTタブ
qr ?? tquickreport
qrsd?tqrsubdetail
qrb ?? tqrband
QRCB ?? TQRCHILDBAND
qrg ?? tqrgroup
qrl ?? tqrlabel
qrt ?? tqrtext
qre ?? tqreexpr
QRS?TQRSYSDATA
qrm ?? tqrmemo
qrrrt ?? tqrrichtext
QRDR?TQRDBRICHTEXT
qrsh ?? tqrshape
qri ??? tqrimage
qrdi ?? tqrdbmimage
QRCR?
qrp ?? tqrpreview
QRCH TQRCHART
ダイアログタブ
opendialog ???????? topendialog
savedialog ??????? tsavedialog
openPictureDialog?topenpicturedialog
savepicturedialog ?? tsavepicturedialog
fontdialog ????????? tfontdialog
Colordialog ??????? tcolordialog
printdialog ???????? tprintdialog
PrinterSetupdialog?tprintsetupdialog
finddialog ?????????? tfinddialog
交換?????? treplacedialog
4。変更のリクエスト
4.1履歴レコードを変更します
ソースファイルに承認された変更を加えると、Modifyerはプログラムファイルヘッダーに変更履歴アイテムを追加する必要があります。その後の各変更では、修正者は次の情報をアイテムの情報に記入する必要があります。
修飾子:
DateTime:
原因:
コメント:
4.2新しいコードラインを追加します
新しいコード行は、前後に行にコメントする必要があります。
// ABを変更します。
コードの行が追加されました
// ae
4.3コード行を削除します
コメント行を使用して、コード行を削除する前後に説明します。
// db人、変更時間、変更命令を変更します。
//削除するコードの行(削除されるステートメントにコメント)
// de
4.4コード行を変更します
コード行を変更してコード行を削除し、新しいコード行を追加します。
// MB人、変更時間、変更命令を変更します。
//変更前のコード行
コードの修正行
//自分
5。ファイルの命名
プロジェクトファイルは意味のある名前を使用する必要があります。たとえば、Delphiのシステム情報のプロジェクトファイルには、sysinfo.dprという名前が付けられています。
3.7.2フォームファイル
フォームの名前と一致して:たとえば、フォームの名前がfrrmmainの場合、フォームファイルの名前はfrmmain.dfmです。対応するユニットファイルはfrmmain.pasです
3.7.3データモジュールファイル
データモジュールファイルの命名は意味があり、「DM」をプレフィックスとして使用する必要があります。たとえば、ユーザーデータモジュールの名前は「dmcustomers.dfm」です。 対応するユニットファイルはrdmcustomers.pasです
3.7.4リモートデータモジュールファイル
リモートデータモジュールファイル名は理にかなっており、「RDM」をプレフィックスとして使用する必要があります。たとえば、ユーザーリモートデータモジュールの名前は「rdmcustomers.dfm」です。 対応するユニットファイルはrdmcustomers.pasです
3.7.5通常のユニットファイル
ユニットファイルの命名は理にかなっており、「u」をプレフィックスとして使用する必要があります。たとえば、汎用ユニットの名前は「ugeneral.pas」です。