Convenções _notação húngara

Transcrição

Convenções _notação húngara
Convenções que facilitam o desenvolvimento de projectos em Visual Basic
Por questão de coerência, facilidade de depuração de código, identificação, localização
e agrupamento da informação, os objectos e variáveis devem ser identificados por um
prefixo que os identifiquem. A notação Húngara permitiu estabelecer um conjunto de
prefixos recomendados para utilização, a saber:
Objecto de Controlo
3D Panel
Animated button
Check box
Combo box, drop-down list box
Command button
Common dialog
Communications
Control (used within procedures when
the specific type is unknown)
Data control
Data-bound combo box
Data-bound grid
Data-bound list box
Directory list box
Drive list box
File list box
Form
Frame
Gauge
Graph
Grid
Horizontal scroll bar
Image
Key status
Label
Line
List box
MAPI message
MAPI session
MCI
MDI child form
Menu
MS Flex grid
MS Tab
OLE
Outline
Pen BEdit
Pen Hedit
Pen ink
Picture
Picture clip
Report
Shape
Spin
Text box
Timer
UpDown
Vertical scroll bar
Slider
ImageList
TreeView
Toolbar
TabStrip
StatusBar
ListView
ProgressBar
RichTextBox
Prefixo a utilizar
pnl
ani
chk
cbo
cmd
Dlg
Com
ctr
Exemplo
pnlGroup
aniMailBox
chkReadOnly
cboEnglish
cmdExit
dlgFileOpen
comFax
ctrCurrent
dat
dbcbo
dbgrd
dblst
dir
drv
fil
frm
fra
gau
gra
grd
hsb
img
key
lbl
lin
lst
mpm
mps
mci
mdi
mnu
msg
mst
ole
out
bed
hed
ink
pic
clp
rpt
shp
spn
txt
tmr
upd
vsb
sld
ils
tre
tlb
tab
sta
lvw
prg
rtf
datBiblio
dbcboLanguage
dbgrdQueryResult
dblstJobType
dirSource
drvTarget
filSource
frmEntry
fraLanguage
gauStatus
graRevenue
grdPrices
hsbVolume
imgIcon
keyCaps
lblHelpMessage
linVertical
lstPolicyCodes
mpmSentMessage
mpsSession
mciVideo
mdiNote
mnuFileOpen
msgClients
mstFirst
oleWorksheet
outOrgChart
bedFirstName
hedSignature
inkMap
picVGA
clpToolbar
rptQtr1Earnings
shpCircle
spnPages
txtLastName
tmrAlarm
updDirection
vsbRate
sldScale
ilsAllIcons
treOrganization
tlbActions
tabOptions
staDateTime
lvwHeadings
prgLoadFile
rtfReport
Notação para usar em programação ©fjlima-2000
1/3
Objecto de acesso à Base de Dados
(DAO)
Container
Database
DBEngine
Document
Field
Group
Index
Parameter
QueryDef
Recordset
Relation
TableDef
User
Workspace
Prefixo
Exemplo
con
db
dbe
doc
fld
grp
idx
prm
qry
rec
rel
tbd
usr
wsp
conReports
dbAccounts
dbeJet
docSalesReport
fldAddress
grpFinance
idxAge
prmJobCode
qrySalesByRegion
recForecast
relEmployeeDept
tbdCustomers
usrNew
wspMine
Exemplo DAO (retirado do VB help)
Dim dbBiblio As Database
Dim recPubsInNY As Recordset, strSQLStmt As String
Const DB_READONLY = 4
' Set constant.
'Open database.
Set dbBiblio = OpenDatabase("BIBLIO.MDB")
' Set text for the SQL statement.
strSQLStmt = "SELECT * FROM Publishers WHERE _
State = 'NY'"
' Create the new Recordset object.
Set recPubsInNY = db.OpenRecordset(strSQLStmt, _
dbReadOnly)
Uma vez que as aplicações usam por vezes menus para efectuar o controlo, estes
também devem ser estendidos a partir do prefixo
mnu,
e de acordo com a sua função.
Exemplo para prefixos de nomes para menus:
Menu caption sequence
File Open
File Send Email
File Send Fax
Format Character
Help Contents
Menu handler name
mnuFileOpen
mnuFileSendEmail
mnuFileSendFax
mnuFormatCharacter
mnuHelpContents
Outros controlos não previstos deverão ser criados ou derivados pelo programador
utilizando um conjunto de letras pequenas, evitando confusão com os já existentes.
Exemplo: Um controlo de instância 3D para um frame poderia usar o prefixo fra3d.
Notação para usar em programação ©fjlima-2000
2/3
Relativamente ao tipo de dados:
Tipo de dado
Boolean
Byte
Collection object
Currency
Date (Time)
Double
Error
Integer
Long
Object
Single
String
User-defined type
Variant
Prefixo
bln
byt
col
cur
dtm
dbl
err
int
lng
obj
sng
str
udt
vnt
Exemplo
blnFound
bytRasterData
colWidgets
curRevenue
dtmStart
dblTolerance
errOrderNum
intQuantity
lngDistance
objCurrent
sngAverage
strFName
udtEmployee
vntCheckSum
Estes podem ser ainda classificados quanto ao seu alcance dentro do programa,
acrescentando mais uma letra ao tipo de variável, isto é:
Alcance
Global
Ao nível do módulo
Interno ao procedimento (local)
Prefixo
g
m
Sem prefixo
Exemplo
gstrUserName
mblnCalcInProgress
dblVelocity
O nome em si a ser atribuído deve ser feito de forma a representar o que se pretende
com o objecto, constante, variável, função ou procedimento, devendo ser construído por
palavras juntas sem espaços (de preferência sem acentos ou caracteres especiais) sendo
a primeira letra de cada palavra uma maiúscula e as restantes minúsculas. Para os
termos usados frequentemente poderão ser criadas abreviaturas devendo o seu uso ser
mantido coerente durante as aplicações, por exemplo
gintCntAlunos
para uma variável
global inteira para Contagem de Alunos. As funções deverão ser identificadas em
primeiro lugar por um verbo, exemplo:
Multiplicar.
Os tipos de dados definidos pelo
programador deverão usar o prefixo u.
Notação para usar em programação ©fjlima-2000
3/3