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