1. Introdução às especificações
Essa especificação estipula principalmente as regras e precauções que os programas de origem Delphi devem seguir durante o processo de escrita. O objetivo de escrever essa especificação é manter os hábitos de redação do código -fonte dos desenvolvedores de software da empresa consistentes. Fazendo isso que cada membro do grupo pode entender o código de outros membros do grupo, a fim de facilitar o desenvolvimento secundário da manutenção do sistema de memória do código -fonte.
2. Formato de unidade
2.1 Requisitos básicos
2.1.1 Indentação
O recuo são os dois espaços expostos para aumentar a legibilidade quando o nível do programa de origem mudar. A regra do indentação é recuperar dois espaços para cada nível. A guia não é permitida. Porque a guia produzirá efeitos diferentes devido a diferentes configurações feitas pelo usuário. Quando você encontra, inicie ou entre em julgamento, loop, manuseio de exceção, com declaração, declaração de tipo de registro, declaração de classe, etc., adicione um nível. As declarações de classe, etc. serão reduzidas em um nível.
2.1.2 Comece… fim
A declaração de início e a declaração final devem ocupar uma única linha no programa de origem, por exemplo:
Para i: = 0 a 10, comece // uso incorreto
fim;
para i: = 0 a 10 do // o uso correto
Começar
fim;
2.1.3 Espaços
Adicione espaços nas duas extremidades dos operadores e símbolos de julgamento lógico, como: i: = i + 1;, a e b, etc.
Mas nenhum espaço é necessário ao adicionar suportes.
Por exemplo: se (a> b) e (a
se (a> b) e (a <c) então // o uso correto
2.1.4 Variáveis
Tente não usar abreviações, tente usar substantivos.
Todas as variáveis globais nos módulos devem ser prefixadas com 'f'. Se for necessária a troca de dados entre vários módulos, ele precisará ser implementado declarando atributos.
2.2 Descrição da unidade
Ao criar um novo arquivo de unidade, primeiro personalize a descrição da unidade no formato a seguir.
{***************************************************** ******** *******
Copyright? (C)? 2000-2004? *********** Departamento de Desenvolvimento Técnico
Projeto: --- O projeto ao qual esta unidade pertence
Módulo: --- O módulo funcional ao qual esta unidade pertence
Descrever: --- a função desta unidade
Autor: --- Criar
Data: --- Data de criação
Versão Número da versão:
Modificação da história: --- Modificar área histórica
{********************************
Modificar no: --- Modificar o número
Modificador: --- Modify
DateTime: --- Modificar tempo
Causa: --- Razão de modificação
Modificar no: --- Modificar o número
Modificador: --- Modify
DateTime: --- Modificar tempo
Causa: --- Razão de modificação
********************************************
**************************************************** ******* *****}
2.3 Descrição de processos e funções
{***************************************************** ******** *******
Nome de prdureename/functionName:
Entrada: A --- Parâmetro de entrada Descrição, B --- Parâmetro de entrada Descrição, C --- Parâmetro de entrada Descrição
Saída: X --- Descrição do parâmetro de saída
Const: s --- Descrição constante, t --- Descrição constante
var: x --- Descrição variável, j --- Descrição variável
Descreva: ---- Descrição da função
Se o processo ou função não for escrito pelo criador da unidade, adicione os seguintes itens posteriormente:
Autor:
Data:
**************************************************** ******* *****}
3. Nomeação de controles
O nome do controle pode ser usado com a seguinte abreviação, mas a abreviação usada é adicionada entre o nome de controle '_':
Guia padrão
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 tradiogrupo
pnl tpanel
Cl TCommandlist
Guia adicional
sg tStringGrid
DG TDRAWGRID
TIMAGEM DE IMG
shp thape
bvl tbevel
SBX TSCROLLBOX
CLB tcheckListBox
spl tsplitter
stx tstatictExt
cht tchart
Guia 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
Guia do sistema
tm ?? ttimer
pb ?? tpaintbox
MP? Tmediaplayer
OLEC? TolEContainer
ddcc? tddeclientConv
ddci? tddeclientItem
DDSC? TDDERERVERCONV
ddsi? TdDeServeritem
?
Guia Amostras
gg ?? Tgauge
CG ?? tcolorgrid
spb?
SPE?
DOL?
Cal?
ibea?
?
Guia ActiveX
CFX?
VSP ?? TVSSPELL
F1B ?? Tf1book
VTC ?? TVTCHART
GRP ?? Tgraph
?
Guia Win31
dbll ?? tdblookuplist
DBLC ?? TDBLOOKUPCOMBO
ts ????
ol ????
TNB ???
NB ????
hdr ???
FLB ???
DLB ???
DCB?
FCB?
Guia midas
Prv ?? TProvider
CDS ?? TclientDataSet
qcds?
DCOM?
olee ??
SCK ?? TsocketConnection
rms ?? TremoteServer
Mid ?? tmidasconnection
Guia Internet
csk? tclientSocket
ssk? tServersocket
wbd? twebdispatcher
pp ??? tpageProducer
tp ??? TQUERYTABLEPRODUCER
DSTP?
nmdt ?? tnmdaytime
nec ??? tnmecho
nf ???? tnmfinger
nftp ??? tnmftp
http ?? tnmhttp
nmsg ?? tnmmsg
NMSG ?? tnmmsgserv
nntp ??? tnmnntp
npop ??? tnmpop3
nuup ??? tnmuuprocessor
smtp ??? tnmsmtp
nst ???? TNMSTRM
ns ??? tnmtrmServ
ntm ??? tnmtime
nudp ?? tnmudp
psk ??? TPOWERSOCK
NGS ??? tnm generalServer
HTML?
url?
sml ?? tsimplemail
Guia Acesso de dados
DS?
tbl?
Qry?
SP ?? TStoredProc
dB ?? tdatabase
ssn?
BM ?? tbatchmove
USQL ?? tupdatesql
Guia Controles de dados
DBG?
dbn ?? tdbnavigator
dbt ?? tdbtext
dBe ?? tdbedit
DBM?
dbi ?? tdbimage
DBLB ?? tdBlistBox
DBCB?
dbch?
dbrg ?? tdbradiogroup
dbll ?? tdBlookuplistBox
dblc?
dBre ?? tdbrichedit
dbcg ?? tdbctrlGrid
dbch ?? tdbchart
Guia de cubo de decisão
dcb ?? tDecisionCube
dcq ?? tDecisionQuery
DCS ?? tDecisionsource
dcp ?? tDecisionPivot
dcg ?? tDecisionGrid
dcgr? tDecisionGraph
Guia 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
Guia Diálogos
OpenDialog ???????? TOPENDIALOG
Savedialog ??????? TSAVEDALOG
OpenPictUredialog? TOPENPITURADOG
SalvePictureDialog?
Fontdialog ????????? Tfontdialog
Colordialog ??????? Tcolordialog
PrintDialog ???????? TrintDialog
PrintersetUpdialog?
FindDialog ?????????? tfinddialog
Substituedialog ?????? Treplacedialog
4. Solicitação de modificação
4.1 Modificar o registro de história
Ao fazer modificações aprovadas no arquivo de origem, o modificador deve adicionar um item de histórico de modificação ao cabeçalho do arquivo do programa. Em cada modificação subsequente, o modificador deve preencher as seguintes informações no item:
Modificador:
DateTime:
Causa:
Comentário:
4.2 Adicione nova linha de código
A nova linha de código deveria ter comentado linhas antes e depois.
// AB Modify Pessoa;
Linha de código adicionada
// ae
4.3 Exclua a linha de código
Use linhas de comentários para descrever antes e depois da exclusão da linha de código.
// DB Modificar pessoa, tempo de modificação, instruções de modificação.
// A linha de código a ser excluída (comente a declaração a ser excluída)
// DE
4.4 Modifique a linha de código
Modifique a linha de código para excluir a linha de código e adicione novas linhas de código.
// MB Modificar pessoa, tempo de modificação, instruções de modificação.
// linha pré -código antes da modificação
Linha de código modificada
//meu
5. Nomeação de arquivos
O arquivo do projeto deve usar um nome significativo. Por exemplo: o arquivo do projeto para informações do sistema em Delphi é nomeado sysinfo.dpr.
3.7.2 Arquivo de formulário
Consistente com o nome do formulário: por exemplo: Se o nome do formulário for frrmmAin, o nome do arquivo de formulário é FRMMAIN.DFM. O arquivo de unidade correspondente é frmMain.pas
3.7.3 Arquivo do módulo de dados
A nomeação do arquivo do módulo de dados deve fazer sentido e usar 'dm' como prefixo. Por exemplo: o módulo de dados do usuário é nomeado 'dmcustomers.dfm'. O arquivo de unidade correspondente é rdmcustomers.pas
3.7.4 Arquivo de módulo de dados remoto
O nome do arquivo do módulo de dados remoto deve fazer sentido e usar 'rdm' como prefixo. Por exemplo: o módulo de dados remoto do usuário é nomeado 'rdmcustomers.dfm'. O arquivo de unidade correspondente é rdmcustomers.pas
3.7.5 Arquivos de unidade normais
A nomeação do arquivo da unidade deve fazer sentido e usar 'u' como prefixo. Por exemplo: a unidade genérica é nomeada 'ugeneral.pas'.