1. Einführung in die Spezifikationen
Diese Spezifikation sieht hauptsächlich die Regeln und Vorsichtsmaßnahmen vor, die Delphi -Quellprogramme während des Schreibprozesses folgen sollten. Der Zweck des Schreibens dieser Spezifikation besteht darin, die Quellcode -Schreibgewohnheiten von Unternehmenssoftwareentwicklern konsistent zu halten. Dadurch kann jedes Gruppenmitglied den Code anderer Gruppenmitglieder verstehen, um die Sekundärentwicklung der Wartung des Quellcodespeichersystems zu erleichtern.
2. Einheitsformat
2.1 Grundbedürfnisse
2.1.1 Eindrückung
Die Einklebung sind die beiden Räume, die ausgesetzt sind, um die Lesbarkeit zu erhöhen, wenn sich das Niveau des Quellprogramms ändert. Die Regel der Eindrücke lautet, zwei Räume für jede Ebene einzuführen. Tab ist nicht erlaubt. Da die Registerkarte aufgrund unterschiedlicher Einstellungen des Benutzers unterschiedliche Effekte erzeugt. Wenn Sie mit Beginn oder Beurteilung, Schleife, Ausnahmeregelung, mit Erklärung, Erklärung von Datensatztyp, Klassenerklärung usw. Geben Sie eine Stufe hinzu. Klassenerklärungen usw. werden um eine Ebene reduziert.
2.1.2 Beginnen Sie… Ende
Die Startanweisung und die Endaussage sollten eine einzige Zeile im Quellprogramm einnehmen, z. B.:
Für i: = 0 bis 10 beginnen Sie // falsche Verwendung
Ende;
für i: = 0 bis 10 do // korrekte Verwendung
Beginnen
Ende;
2.1.3 Räume
Fügen Sie Leerzeichen an beiden Enden von Operatoren und logischen Beurteilungssymbolen hinzu, wie z. B. I: = i + 1;, A und B usw.
Beim Hinzufügen von Klammern ist jedoch kein Platz erforderlich.
Zum Beispiel: if (a> b) und (a
if (a> b) und (a <c) dann // korrekte Verwendung
2.1.4 Variablen
Versuchen Sie, Abkürzungen nicht zu verwenden, und versuchen Sie, Substantive zu verwenden.
Alle globalen Variablen in Modulen müssen mit 'F' vorangestellt werden. Wenn der Datenaustausch zwischen mehreren Modulen erforderlich ist, muss sie durch Deklaration von Attributen implementiert werden.
2.2 Einheit Beschreibung
Passen Sie beim Erstellen einer neuen Einheitsdatei zuerst die Beschreibung der Einheit im folgenden Format an.
{******************************************** ******** *******
Copyright? (C)? 2000-2004? ********* FORMANNETIGE FORTUNG
Projekt: --- Das Projekt, zu dem diese Einheit gehört
Modul: --- Das Funktionsmodul, zu dem diese Einheit gehört
Beschreiben Sie: --- Die Funktion dieser Einheit
Autor: --- erstellen
Datum: --- Erstellungsdatum
Versionsnummer:
Modifikation der Geschichte: --- Historische Bereich ändern
{*******************************************************************
Ändern Sie die Nummer: --- Ändern Sie die Nummer
Modifikator: --- Modify
DateTime: --- Zeit ändern
Ursache: --- Grund zur Änderung
Ändern Sie die Nummer: --- Ändern Sie die Nummer
Modifikator: --- Modify
DateTime: --- Zeit ändern
Ursache: --- Grund zur Änderung
********************************************************
******************************************************** *************}
2.3 Beschreibung von Prozessen und Funktionen
{******************************************** ******** *******
PrcedureEname/FunktionName:
Eingabe: a --- Eingabeparameter Beschreibung, b --- Eingabeparameter Beschreibung, c --- Eingabeparameter Beschreibung
Ausgabe: x --- Ausgangsparameter Beschreibung
Const: s --- Konstante Beschreibung, t --- Konstante Beschreibung
var: x --- variable Beschreibung, j --- Variable Beschreibung
Beschreiben Sie: ---- Funktionsbeschreibung
Wenn der Prozess oder die Funktion nicht vom Ersteller des Geräts geschrieben wurde, fügen Sie später die folgenden Elemente hinzu:
Autor:
Datum:
******************************************************** *************}
3. Benennung von Kontrollpersonen
Der Name der Steuerung kann mit der folgenden Abkürzung verwendet werden, die verwendete Abkürzung wird jedoch zwischen dem Steuernamen '_' hinzugefügt:
Registerkarte Standard
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 TradeioGroup
PNL TPANEL
Cl tcommandlist
Zusätzliche Registerkarte
sg tstringgrid
dg tdrawgrid
IMG Timage
shp tshape
Bvl tbevel
sbx tscrollbox
CLB Tchecklistbox
SPL TSPLITTERTER
STX TStatictictext
cht tchart
Win32 Tab
tbc ttabcontrol
PGC TPAGECONTROL
Il Timagelist
Re Trichedit
tbr ttrackbar
PRB Tprogressbar
ud tupdown
HK Thotkey
Ani Tanimate
DTP TDATETIMEPICKER
TV Treeview
LV TListView
HDR theadercontrol
STB TStatusbar
tlb ttoolbar
CLB TCOLBAR
System Tab
tm ?? ttimer
pb ?? tpaintbox
MP? TMEDIAPLAYER
Olec? Tolecontainer
ddcc? tddeclientconv
ddci? tddeclientItem
ddsc? tddeServerconv
ddsi? tddeServeritem
?
Registerkarte Proben
GG ?? Tgauge
CG ?? Tcolorgrid
SPB?
spe?
Dol?
Cal?
Ibea?
?
ActiveX Tab
CFX?
VSP?
F1B ?? TF1Book
VTC? TVTCHART
GRP?
?
Win31 tab
DBLL?
DBLC ?? TDBLOOKUPCOMBO
ts ???? ttabset
ol ???? toutline
tnb ??? Ttabbednotebook
nb ???? tnotebook
HDR ??? Theader
FLB ??? Tfilelistbox
DLB ??? TdirectoryListbox
DCB?
fcb ?? tfiltercombobox
Midas Tab
PRV?
CDS?
QCDS?
DCOM?
Olee?
SCK? TsocketConnection
RMS? Tremoteserver
Mitte? Tmidasconnection
Internet -Registerkarte
CSK? Tclientsocket
SSK? Tserversocket
WBD? Twebdispatcher
pp ??? tPageProducer
TP ??? TQueryTableProducer
DSTP?
nmdt ?? tnmdaytime
NEC ??? tnmecho
nf ???? tnmfinger
nftp ??? tnmftp
nhttp ?? tnmhttp
nmsg ?? tnmmmsg
nmsg ?? tnmmmsgServ
nntp ??? tnmnntp
npop ??? Tnmpop3
NuUp ??? TnmuUProcessor
SMTP ??? TNMSMTP
nst ???? tnmstrm
NS ??? Tnmstrmserv
ntm ??? Tnmtime
Nudp ?? tnmudp
PSK ??? tpowersock
ngs ??? TNM GeneralServer
Html?
URL?
sml ?? tSimplemail
Registerkarte "Datenzugriff"
DS?
TBL?
Qry?
sp?
db ?? tdatabase
SSN?
BM ?? TbatchMove
USQL ?? tupdatesql
Registerkarte "Datensteuerung"
DBG?
dbn ?? tdbnavigator
DBT ?? tdbText
dbe ?? tdbedit
DBM?
dbi ?? tdbimage
DBLB ?? TDBLISTBOX
DBCB?
dbch?
DBRG ?? tdbradioGroup
DBLL ?? TDBLOOKUPLISTBOX
DBLC ?? tdblookupcombobox
dbre ?? tdbrichedit
DBCG ?? TDBCTRLGRID
dbch ?? tdbchart
Registerkarte Entscheidung Würfel
DCB ?? tDecisionCube
DCQ ?? tDecisionQuery
DCS ?? tDecisionource
DCP ?? tDecisionPivot
DCG ?? tDecisionGrid
dcgr? tdecisiongraph
Qreport tab
qr ?? TquickReport
qrsd? tqrsubdetail
qrb ?? tqrband
qrcb ?? Tqrchildband
qrg ?? tqrgroup
qrl ?? tqrlabel
qrt ?? tqrtext
Qre ?? tqreexpr
QRS?
qrm ?? tqrmemo
qrrrt ?? Tqrrichttext
qrdr?
qrsh ?? tqrshape
qri ??? Tqrimage
qrdi ?? tqrdbmimage
qrcr?
qrp ?? tqrpreview
QRCH TQRCHART
Registerkarte "Dialoge"
Opendialog ???????? topendialog
Savedialog ??????? Tsavedialog
OpenPicturedialog? Topenpicturedialog
SavePicturedialog? Tsavepicturedialog
Fontdialog ????????? TfontDialog
Colordialog ??????? Tcolordialog
PrintDialog ???????? TprintDialog
Printersetupdialog?
FindDialog ?????????? tfinddialog
Ersetzt ersetzt ?????? tierstanden
4. Anfrage zur Änderung
4.1 Ändern Sie den History -Datensatz
Bei genehmigten Änderungen an der Quelldatei sollte der Modificer dem Programmdateikopf einen Änderungshistorie -Element hinzufügen. In jeder nachfolgenden Änderung muss der Modificer die folgenden Informationen im Element eingeben:
Modifikator:
Datetime:
Ursache:
Kommentar:
4.2 neue Codezeile hinzufügen
Die neue Codezeile hätte bereits und nachher Zeilen kommentiert haben sollen.
// AB modifizieren Sie die Zeit;
Codesteile hinzugefügt
// ae
4.3 Löschen Sie die Codezeile
Verwenden Sie Kommentare, um vor und nach dem Löschen der Codezeile zu beschreiben.
// dB Person, Änderungszeit, Änderungsanweisungen ändern.
// Die zu löschende Codezeile (kommentieren Sie die zu gelöschte Anweisung)
// de
4.4 Ändern Sie die Codezeile
Ändern Sie die Codezeile, um die Codezeile zu löschen und neue Codezeilen hinzuzufügen.
// MB Person, Änderungszeit, Änderungsanweisungen ändern.
// Pre -Code -Zeile vor der Änderung
Modifizierte Codezeile
//Mich
5. Datei Benennung
Die Projektdatei muss einen aussagekräftigen Namen verwenden. Zum Beispiel: Die Projektdatei für Systeminformationen in Delphi heißt sysinfo.dpr.
3.7.2 Formulardatei
In Übereinstimmung mit dem Namen des Formulars: Zum Beispiel: Wenn der Name des Formulars frrmmain ist, dann ist der Name der Formulardatei frmmain.dfm. Die entsprechende Einheitsdatei lautet FRMMain.pas
3.7.3 Datenmoduldatei
Die Benennung der Datenmoduldatei sollte sinnvoll sein und 'DM' als Präfix verwenden. Zum Beispiel: Das Benutzerdatenmodul wird als "dmcustomers.dfm" bezeichnet. Die entsprechende Einheitsdatei ist rdmcustomers.pas
3.7.4 Remotedatenmoduldatei
Der Name der Remote -Datenmoduldatei sollte sinnvoll sein und 'RDM' als Präfix verwenden. Zum Beispiel: Das User Remote -Datenmodul wird als "rdmcustomers.dfm" bezeichnet. Die entsprechende Einheitsdatei ist rdmcustomers.pas
3.7.5 normale Einheitsdateien
Die Benennung der Einheitsdatei sollte sinnvoll sein und 'u' als Präfix verwenden. Zum Beispiel: Die generische Einheit wird als "ugenal.pas" bezeichnet.