1 et 1 Introduction aux spécifications
Cette spécification stipule principalement les règles et précautions que les programmes de source Delphi devraient suivre pendant le processus d'écriture. Le but de la rédaction de cette spécification est de garder les habitudes d'écriture du code source des développeurs de logiciels d'entreprise cohérents. Ce faire que chaque membre du groupe peut comprendre le code des autres membres du groupe, afin de faciliter le développement secondaire de la maintenance du système de mémoire de code source.
2 Format unitaire
2.1 Exigences de base
2.1.1 Indentation
L'indentation est les deux espaces exposés pour augmenter la lisibilité lorsque le niveau du programme source change. La règle d'indentation est de trouver deux espaces pour chaque niveau. L'onglet n'est pas autorisé. Car Tab produira différents effets en raison des différents paramètres fabriqués par l'utilisateur. Lorsque vous rencontrez un jugement, une boucle, une gestion des exceptions, une déclaration, une déclaration de type d'enregistrement, une déclaration de classe, etc., ajoutez un niveau. Les déclarations de classe, etc. seront réduites d'un même niveau.
2.1.2 commencez… fin
L'instruction Begin et l'instruction finale doivent occuper une seule ligne dans le programme source, par exemple:
pour i: = 0 à 10 faire commence // utilisation incorrecte
fin;
pour i: = 0 à 10 do // Correction d'utilisation
Commencer
fin;
2.1.3 Espaces
Ajoutez des espaces aux deux extrémités des opérateurs et des symboles de jugement logique, tels que: i: = i + 1;, a et b, etc.
Mais aucun espace n'est nécessaire lors de l'ajout de supports.
Par exemple: if (a> b) et (a
si (a> b) et (a <c) alors // corrige l'utilisation
2.1.4 Variables
Essayez de ne pas utiliser les abréviations, essayez d'utiliser des noms.
Toutes les variables globales dans les modules doivent être préfixées avec «F». Si l'échange de données est requis entre plusieurs modules, il doit être mis en œuvre en déclarant les attributs.
2.2 Description de l'unité
Lors de la création d'un nouveau fichier unitaire, veuillez d'abord personnaliser la description de l'unité dans le format suivant.
{************************************************* ******** *******
Copyright? (C)? 2000-2004? ********* Département de développement technique de l'entreprise
Projet: --- Le projet auquel appartient cette unité
Module: --- le module fonctionnel auquel appartient cette unité
Décrire: --- la fonction de cette unité
Auteur: --- Créer
Date: --- Date de création
Version Numéro de version:
Modification de l'histoire: --- Modifier la zone historique
{******************************
Modifier le non: --- modifier le numéro
Modificateur: --- modifier
DateTime: --- Modifier le temps
Cause: --- Raison de la modification
Modifier le non: --- modifier le numéro
Modificateur: --- modifier
DateTime: --- Modifier le temps
Cause: --- Raison de la modification
********************************************
**************************************************** ******* *****}
2.3 Description des processus et des fonctions
{************************************************* ******** *******
PrceDeeName / FunctionName:
Entrée: A --- Description du paramètre d'entrée, b --- Description du paramètre d'entrée, C --- Description du paramètre d'entrée
Sortie: x --- Description du paramètre de sortie
Const: s --- description constante, t --- description constante
var: x --- description de la variable, J --- description de la variable
Décrire: ---- Description de la fonction
Si le processus ou la fonction n'est pas écrit par le créateur de l'unité, veuillez ajouter les éléments suivants plus tard:
Auteur:
Date:
**************************************************** ******* *****}
3 et 3 Dénomination des contrôles
Le nom du contrôle peut être utilisé avec l'abréviation suivante, mais l'abréviation utilisée est ajoutée entre le nom de contrôle '_':
Onglet standard
mm tmainmenu
pm tpopupmenu
MMI TMainMenuem
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
Onglet supplémentaire
SG TStringgrid
dg tdrawgrid
IMG Timage
SHP TSHAPE
bvl tbevel
sbx tscrollbox
CLB tchecklistbox
SPL Tsplitter
stx tstatictExt
cht tchart
Onglet Win32
tbc ttabControl
PGC TPAGECONTROL
il timagelist
re trichedit
tbr ttrackbar
prb tprogressbar
UD Tupdown
HK Thotkey
ani tanimate
dtp tdatetimepicker
TV Ttreeview
lv tlistview
HDR TheaderControl
STB tstatusbar
TLB TTOOLBAR
CLB TCOOLBAR
Onglet Système
TM ?? ttimer
pb ?? tpaintbox
MP? TMediaPlayer
Olec? ToleContainer
ddcc? tddeclientconv
ddci? tddeclientitem
ddsc? tddeserverconv
ddsi? tddeserveritem
?
Onglet des échantillons
GG ??
cg ?? tcolorgrid
SPB?
spe?
Dol?
Cal?
ibea?
?
Onglet ActiveX
cfx?
VSP ??
F1B ??
VTC ??
Grp ??
?
Onglet Win31
dbl ??
dblc ??
ts ????
ol ????
tnb ???
nb ????
HDR ???
flb ??? tfileListbox
DLB ???
dcb ??
fcb ??
Onglet Midas
prv ??
CDS ??
QCDS ??
dcom?
OLEE ??
SCK ?? TsocketConnection
RMS ??
mi-Tmidasconnection
Onglet Internet
CSK? TCIENTSOCK
SSK? TSERVERSOCK
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
nup ??? tnmuuprocesseur
smtp ??? tnmsmtp
NST ???? TNMSTRM
ns ??? tnmstrmserv
ntm ??? tnmtime
nudp ?? tnmudp
psk ??? tpowersock
ngs ??? TNM GeneralServer
html??
url? ?? tnmurl
sml ?? tsimplemail
Onglet d'accès aux données
ds?? tdatasource
tbl??
QRY??
sp ?? tstoredProc
db ?? tdatabase
ssn??
BM ?? tbatchmove
usql ?? tupdatesql
Onglet Contrôles de données
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
Onglet Cube de décision
dcb ?? tdecisioncube
dcq ?? tdecisionquery
dcs ?? tdecisionsource
dcp ?? tdecisionpivot
dcg ?? tdecisiongrid
dcgr? tdecisiongraph
Onglet QReport
QR ?? tquickreport
QRSD? TQRSUBDETAIL
Qrb ?? tqrband
QRCB ?? tqrchildband
qrg ?? tqrgroup
Qrl ?? tqrLabel
qrt ?? tqrText
Qre ?? tqreexpr
QRS??
QRM ?? TQRMEMO
qrrrt ?? tqrrichText
Qrdr?? TqrdbrichText
QRSH ?? TQRSHAPE
QRI ??? TQRIMAGE
qrdi ?? tqrdbmimage
qrcr??
QRP ?? tqrpreview
QRCH TQRCHART
Onglet de dialogue
OpenDialog ???????? Terndialog
SaveDedialog ??????? Tsavedialog
OpenPicturealiog? TOPEPICTUREDIALOG
Sauvegarder
FontDialog ????????? Tfontdialog
Colordialog ??????? tcolordialog
Printdialog ???????? tprintdialog
Imprimersetupdialog???
FindDialog ?????????? tfinddialog
Remplacealiog ??????
4 Demande de modification
4.1 Modifier le dossier d'historique
Lorsque vous apportez des modifications approuvées au fichier source, le modification doit ajouter un élément d'historique de modification à l'en-tête du fichier du programme. Dans chaque modification ultérieure, le modificateur doit remplir les informations suivantes dans l'élément:
Modificateur:
DateTime:
Cause:
Commentaire:
4.2 Ajouter une nouvelle ligne de code
La nouvelle ligne de code aurait dû commenter les lignes avant et après.
// AB Modifier la personne;
Ajout de ligne de code
// ae
4.3 Supprimer la ligne de code
Utilisez des lignes de commentaires pour décrire avant et après la suppression de la ligne de code.
// DB Modifier la personne, temps de modification, instructions de modification.
// la ligne de code à supprimer (commentez la déclaration à supprimer)
// de
4.4 Modifier la ligne de code
Modifiez la ligne de code pour supprimer la ligne de code et ajouter de nouvelles lignes de code.
// MB Modifier la personne, temps de modification, instructions de modification.
// Ligne de pré-code avant modification
Ligne de code modifiée
//moi
5 Dénomination des fichiers
Le fichier de projet doit utiliser un nom significatif. Par exemple: le fichier de projet pour les informations système dans Delphi est nommé sysinfo.dpr.
3.7.2 Fichier Fichier
Conformément au nom de la forme: par exemple: si le nom de la forme est frrmmain, alors le nom du fichier de formulaire est frmmain.dfm. Le fichier unitaire correspondant est frmmain.pas
3.7.3 Fichier du module de données
La dénomination du fichier du module de données doit avoir un sens et utiliser «DM» comme préfixe. Par exemple: le module de données utilisateur est nommé «dmcustomerS.dfm». Le fichier unitaire correspondant est rdmCustomers.pas
3.7.4 Fichier du module de données distant
Le nom du fichier du module de données distant doit avoir un sens et utiliser «RDM» comme préfixe. Par exemple: le module de données distant de l'utilisateur est nommé 'rdmCustomers.dfm'. Le fichier unitaire correspondant est rdmCustomers.pas
3.7.5 Fichiers unitaires normaux
La dénomination du fichier unitaire doit avoir un sens et utiliser «u» comme préfixe. Par exemple: l'unité générique est nommée «Ugeneral.pas».