1. Introducción a las especificaciones
Esta especificación estipula principalmente las reglas y precauciones que los programas fuente de Delphi deben seguir durante el proceso de escritura. El propósito de escribir esta especificación es mantener consistentes los hábitos de escritura del código fuente de los desarrolladores de software de la empresa. Al hacerlo, cada miembro del grupo puede comprender el código de otros miembros del grupo, a fin de facilitar el desarrollo secundario del mantenimiento del sistema de memoria del código fuente.
2. Formato unitario
2.1 Requisitos básicos
2.1.1 sangría
La sangría son los dos espacios expuestos para aumentar la legibilidad cuando cambia el nivel del programa fuente. La regla de sangría es sangrar dos espacios para cada nivel. La pestaña no está permitida. Porque la pestaña producirá diferentes efectos debido a diferentes configuraciones hechas por el usuario. Cuando se encuentra con el juicio, el juicio, el manejo de excepciones, con la declaración, la declaración de tipo de registro, la declaración de clase, etc., agregue un nivel. Las declaraciones de clase, etc. se reducirán en un nivel.
2.1.2 Comienza ... Fin
La declaración Begin y la declaración final deberían ocupar una sola línea en el programa fuente, por ejemplo:
para i: = 0 a 10 comience // Uso incorrecto
fin;
para i: = 0 a 10 do // uso correcto
Comenzar
fin;
2.1.3 espacios
Agregue espacios en ambos extremos de los operadores y símbolos de juicio lógico, como: i: = i + 1;, a y b, etc.
Pero no se necesita espacio al agregar corchetes.
Por ejemplo: if (a> b) y (a
if (a> b) y (a <c) entonces // el uso correcto
2.1.4 Variables
Trate de no usar abreviaturas, intente usar sustantivos.
Todas las variables globales en los módulos deben estar prefijadas con 'F'. Si se requiere intercambio de datos entre varios módulos, debe implementarse declarando atributos.
2.2 Descripción de la unidad
Al crear un nuevo archivo de unidad, primero personalice la descripción de la unidad en el siguiente formato.
{************************************************** ******** *******
¿Copyright? (C)? 2000-2004? ********* Departamento de desarrollo técnico de la empresa
Proyecto: --- El proyecto al que pertenece esta unidad
Módulo: --- El módulo funcional al que pertenece esta unidad
Describe: --- La función de esta unidad
Autor: --- Crear
Fecha: --- Fecha de creación
Versión Número de versión:
Modificación de la historia: --- Modificar el área histórica
{********************************
Modificar no: --- Número de modificación
Modificador: --- Modificar
DateTime: --- Modificar tiempo
Causa: --- Razón de modificación
Modificar no: --- Número de modificación
Modificador: --- Modificar
DateTime: --- Modificar tiempo
Causa: --- Razón de modificación
********************************************
************************************************************ ******* *****}
2.3 Descripción de procesos y funciones
{************************************************** ******** *******
PredureEname/functionName:
Entrada: A --- Descripción del parámetro de entrada, B --- Descripción del parámetro de entrada, c --- Parámetro de entrada Descripción
Salida: X --- Descripción del parámetro de salida
Const: S --- Descripción constante, t --- Descripción constante
var: x --- Descripción variable, j --- Descripción variable
Describe: ---- Descripción de la función
Si el creador de la unidad no escribe el proceso o función, agregue los siguientes elementos más adelante:
Autor:
Fecha:
************************************************************ ******* *****}
3. Nombres de controles
El nombre del control se puede usar con la siguiente abreviatura, pero la abreviatura utilizada se agrega entre el nombre de control '_':
Pestaña estándar
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
Pestaña
sg tStringGrid
dg tdrawgrid
IMG TIME
shp tshape
bvl tbebel
sbx tscrollbox
CLB TCheckListBox
spl tsplitter
stx tstatictext
cht tchart
Pestaña Win32
TBC TTABCONTROL
PGC TPAGECONTROL
il timagelista
RE TRICHEDIT
TBR TTRACKBAR
PRB TProgressBar
UD tupdown
Hk thotkey
Ani tanate
dtp tdateTiMepicker
ttreeview
lv tlistview
HDR theadercontrol
stb tstatusbar
TLB TTOOLBAR
CLB TCOOLBAR
Pestaña del sistema
tm ?? ttimer
PB?
MP? TMEDIAPLAYER
olec? tolecontainer
DDCC? TDDECLIENTCONV
ddci? tddeclientitem
ddsc? tddeserverConv
ddsi? tddeserveritem
?
Pestaña de muestras
GG?
CG?
SPB?
SPE?
Dol?
CAL?
ibea?
?
Pestaña ActiveX
CFX?
VSP?
F1B?
VTC?
GRP?
?
Pestaña Win31
DBLL?
DBLC?
TS ????
ol ????
tnb ????
NB ????
HDR?
FLB ???
DLB ????
DCB?
FCB ??
Pestaña Midas
PRV?
CDS?
QCD?
DCOM?
Olee?
SCK?
rms ??
Mid?
Pestaña de Internet
csk? tclientsocket
ssk? tserversocket
WBD? Twebdispatcher
PP?
TP?
DSTP?
nmdt ?? tnmdaytime
nec?
nf ????? tnmfinger
nftp ??? tnmftp
nhttp ?? tnmhttp
nmsg ?? tnmmsg
nmsg ?? tnmmsgserv
nntp ??? tnmnntp
npop?
nuup?
smtp ??? tnmsmtp
nst ???? tnmstrm
ns ??? tnmstrmserv
ntm ??? tnmtime
nudp ?? tnmudp
psk ??? tpowersock
NGS ???? TNM GeneralServer
HTML?
¿URL?
sml ?? tsimplemail
Pestaña de acceso a datos
DS?
TBL?
Qry?
sp? Tstoredproc
DB ?? Tdatabase
SSN?
bm ?? tbatchmove
USQL ?? Tupdatesql
Pestaña Controles de datos
DBG?
dbn ?? tdbnavigator
dbt ?? tdbText
dbe ?? tdbedit
DBM?
dbi ?? tdbimage
dblb ?? tdblistbox
DBCB?
DBCH?
DBRG ?? TDBRADIOGROUP
dbll ?? tdblookupplistbox
DBLC?
dbre ?? tdbrichedit
dbcg ?? tdbctrlgrid
dbch ?? tdbchart
Pestaña Cubo de decisión
DCB ?? TdecisionCube
dcq ?? tdecisionQuery
DCS?
dcp ?? tdecisionpivot
dcg ?? tdecisiongrid
dcgr? tdecisiongraph
Pestaña QREPORT
Qr ?? TquickReport
QRSD? TQRSubdetail
QRB ?? tqrband
QRCB ?? tqrchildband
QRG ?? TQRGROUP
qrl ?? tqrlabel
QRT ?? TQRTEXT
qre ?? tqreexpr
QRS?
QRM ?? TQRMEMO
qrrrt ?? tqrrichtext
QRDR?
QRSH ?? TQRSHAPE
qri ??? tqrimage
qrdi ?? tqrdbmimage
QRCR?
QRP ?? tqrpreview
QRCH TQRCHART
Pestaña de diálogo
Opendialog ???????? Topendialog
Savedialog ??????? tsavedialog
OpenPicturedialog? Topenpicturedialog
SavePicturedialog? TsavePicturedialog
Fontdialog ????????? tfontdialog
Colordialog ??????? tcolordialog
Printdialog ???????? TPrintdialog
PrintersetUpdialog?
Finddialog ?????????? Tfinddialog
Reemplazo de pilotaje ?????? treplacedialog
4. Solicitud de modificación
4.1 Modificar el registro del historial
Al realizar modificaciones aprobadas en el archivo de origen, el modificador debe agregar un elemento del historial de modificación al encabezado del archivo del programa. En cada modificación posterior, el modificador debe completar la siguiente información en el elemento:
Modificador:
DateTime:
Causa:
Comentario:
4.2 Agregar nueva línea de código
La nueva línea de código debería haber comentado líneas antes y después.
// AB Modificar la persona;
Línea de código agregada
// ae
4.3 Eliminar la línea de código
Use líneas de comentarios para describir antes y después de eliminar la línea de código.
// DB modificar persona, tiempo de modificación, instrucciones de modificación.
// La línea de código que se eliminará (comente la declaración que se eliminará)
//Delaware
4.4 Modificar la línea de código
Modifique la línea de código para eliminar la línea de código y agregar nuevas líneas de código.
// MB Modificar persona, tiempo de modificación, instrucciones de modificación.
// Línea previa al código antes de la modificación
Línea de código modificada
//a mí
5. Nomentario de archivos
El archivo del proyecto debe usar un nombre significativo. Por ejemplo: el archivo del proyecto para la información del sistema en Delphi se llama sysinfo.pr.
3.7.2 Formulario
De acuerdo con el nombre del formulario: por ejemplo: si el nombre del formulario es frrMMain, entonces el nombre del archivo de formulario es frmMain.dfm. El archivo de la unidad correspondiente es frMMain.pas
3.7.3 archivo del módulo de datos
El nombre del archivo del módulo de datos debe tener sentido y usar 'DM' como prefijo. Por ejemplo: el módulo de datos del usuario se llama 'dmcustomers.dfm'. El archivo de la unidad correspondiente es rdmcustomers.pas
3.7.4 archivo de módulo de datos remoto
El nombre del archivo del módulo de datos remoto debe tener sentido y usar 'RDM' como prefijo. Por ejemplo: el módulo de datos remotos del usuario se llama 'rdmcustomers.dfm'. El archivo de la unidad correspondiente es rdmcustomers.pas
3.7.5 Archivos de unidad normales
El nombramiento del archivo de la unidad debe tener sentido y usar 'U' como prefijo. Por ejemplo: la unidad genérica se llama 'Ugeneral.pas'.