Oito bons hábitos de programação VB
1. "&" substitui "+"
2. A nomenclatura de variáveis deve diferenciar maiúsculas de minúsculas, as instruções devem ser bem organizadas e a manutenção do código-fonte deve ser feita
3. Por favor, desenvolva os seguintes bons hábitos de "convenção de nomenclatura de objetos"
4. No caso de condições de seleção simples, use a função IIf()
5. Tente usar Debug.Print para depuração
6. Ao modificar repetidamente as propriedades de um objeto, tente usar With....EndWith
7. Procure utilizar ícones de mensagens no MsgBox para que o programa fique mais padronizado.
8. Use enumerações sempre que possível
1. "&" substitui "+"
Nas linguagens de programação de muitas pessoas, "+" é usado para conectar strings, o que pode facilmente levar à ambiguidade. Uma boa prática é usar “&” para concatenar strings.
Incorreto:
DimsMessageAsString
sMensagem="1"+"2"
correto:
DimsMessageAsString
sMessage="1"&"2"
Nota: Há um espaço após "&"
2. A nomenclatura de variáveis deve diferenciar maiúsculas de minúsculas, as instruções devem ser bem organizadas e a manutenção do código-fonte deve ser feita
Vamos comparar os dois trechos de código a seguir:
Leia o código difícil:
DimSNAMEAsString
DimNTURNAsInteger
SeNTURN=0Então
IfSNAME="vbeden"Então
DoWhileNTURN<4
NTURN=NTURN+1
Laço
FimSe
FimSe
Código fácil de ler:
DimsNameAsString
DimnTurnAsInteger
IfnTurn=0Então
IfsName="vbeden"Então
DoWhileTurn<4
nTurno=nTurno+1
Laço
FimSe
FimSe
[voltar ao índice]
3. Por favor, desenvolva os seguintes bons hábitos de "convenção de nomenclatura de objetos"
Prefixos de controle recomendados
Exemplo de prefixo de tipo de controle
3DPanelpnlpnlGrupo
ADODataadoadoBiblio
Botão animadoanianiMailBox
Caixa de seleçãochkchkReadOnly
Combobox,caixa de lista suspensacbocboInglês
Botão de comandocmdcmdSair
CommondialogdlgdlgFileOpen
ComunicaçõescomcomFax
Controle (usado em procedimentos quando o tipo específico é desconhecido) ctrctrCurrent
DatadatdatBiblio
ComboboxdbcbodbcboLanguage vinculado a dados
Grid-boundgriddbgrddbgrdQueryResult
ListboxdblstdblstJobType vinculado a dados
DatacombodbcdbcAutor
DatagriddgddgdTitles
Lista de dadosdbldblPublisher
DatarepeaterdrpdrpLocalização
DatepickerdtpdtpPublicado
DiretóriolistboxdirdirFonte
DrivelistboxdrvdrvTarget
FilelistboxfilfilFonte
FlatscrollbarfsbfsbMover
FormfrmfrmEntrada
FramefrafraIdioma
GaugegaugauStatus
Receita Graphgragra
Preços Gridgrdgrd
HierárquicoflexgridflexflexPedidos
Barra de rolagem horizontalhsbhsbVolume
ImagemimgimgIcon
ImagemcomboimgcboimgcboProduto
ImagemListilsilsAllIcons
LabellbllblHelpMessage
Caixa de seleção levelwchklwchkArquivo
LevecomboboxlwcbolwcboAlemão
Botão de comando levelwcmdlwcmdRemover
LeveframelwfralwfraSaveOptions
Barra de rolagem horizontal levewhsblwhsbVolume
LightweightlistboxlwlstlwlstCostCenters
LeveoptionbuttonlwoptlwoptIncomeLevel
LightweighttextboxlwtxtlwoptStreet
LeveverticalscrollbarlwvsblwvsbAno
LinelinlinVertical
ListboxlstlstPolicyCodes
ListViewlvwlvwCabeçalhos
MAPImessagempmmpmSentMessage
MAPIsessionmpsmpsSession
MCImcimciVídeo
MenumnumnuFileOpen
MêsviewmvwmvwPeríodo
MSChartchchSalesbyRegion
MSFlexgridmsgmsgClientes
MSTabmstmstPrimeiro
Planilha OLEcontaineroleole
OptionbuttonoptoptSexo
PictureboxpicpicVGA
Barra de ferramentas Pictureclipclpclp
ProgressBarprgprgLoadFile
Títulos Datardrd Remotos
Relatório RichTextBoxrtfrtf
ShapeshpshpCírculo
Escala deslizanteldsld
SpinspnspnPáginas
StatusBarstastaDataHora
SysInfosyssysMonitor
TabStriptabtabOpções
TextboxtxttxtSobrenome
Alarme Timertmrtmr
Barra de ferramentaslbtlbAções
TreeViewtretreOrganização
Direção UpDownupdupd
Barra de rolagem verticalvsbvsbTaxa
-------------------------------------------------- ----------------------------------
Prefixos recomendados para objetos de acesso a dados (DAO)
Use os seguintes prefixos para indicar objetos de acesso a dados
Exemplo de prefixo de objeto de banco de dados
ContainerconconReports
Banco de dadosdbdbContas
DBEnginedbedbeJet
DocumentdocdocSalesReport
CampofldfldEndereço
GroupgrpgrpFinanças
IndexixidxIdade
ParâmetroprmprmJobCode
QueryDefqryqrySalesByRegion
RecordetrecPrevisão
RelationrelrelEmployeeDept
TabelaDeftbdtbdClientes
UsuáriousrusrNovo
Espaço de trabalhowspwspMine
-------------------------------------------------- ----------------------------------
Os aplicativos frequentemente usam muitos controles de menu e é útil ter um conjunto exclusivo de convenções de nomenclatura para esses controles. Além da tag inicial "mnu", o prefixo do controle de menu deve ser expandido: um prefixo adicional é adicionado para cada nível de aninhamento, colocando o título final do menu no final da string do nome. A tabela abaixo lista alguns exemplos.
Prefixos de menu recomendados
Nome do manipulador de menu da sequência de título do menu
FileOpenmnuFileOpen
ArquivoSendEmailmnuArquivoSendEmail
ArquivoEnviarFaxmnuArquivoEnviarFax
FormatCharacternuFormatCharacter
HelpContentsmnuHelpContents
Quando essa convenção de nomenclatura é usada, todos os membros de um grupo de menu específico são listados um após o outro na janela Propriedades do Visual Basic. Além disso, os nomes dos controles de menu indicam claramente os itens de menu aos quais pertencem.
Escolha um prefixo para outros controles
Os controles não listados acima devem ser padronizados com um prefixo exclusivo de dois ou três caracteres para fins de consistência. Use prefixos com mais de três caracteres somente quando for necessário esclarecimento.
Convenções de nomenclatura de constantes e variáveis
Além de objetos, constantes e variáveis também exigem convenções de nomenclatura bem formadas. Esta seção lista as convenções recomendadas para constantes e variáveis suportadas pelo Visual Basic. e discute questões de identificação de tipos e intervalos de dados.
As variáveis devem sempre ser definidas no menor escopo possível. Variáveis globais (públicas) podem levar a estruturas de estado extremamente complexas e tornar a lógica de um aplicativo muito difícil de entender. As variáveis globais também dificultam a reutilização e a manutenção do código.
Variáveis em Visual Basic podem ter os seguintes escopos
posição da declaração do escopo posição visível
'Privado' em um procedimento de nível de procedimento, subprocedimento ou procedimento de função no procedimento em que é declarado
Formulário 'Privado' na seção de declaração de um formulário em nível de módulo ou módulo de código (.frm, .bas) ou todos os procedimentos em um módulo de código
Em todos os lugares do aplicativo 'Público' na seção de declarações do módulo de código global (.bas)
Em um aplicativo Visual Basic, use variáveis globais somente quando não houver outra maneira conveniente de compartilhar dados entre formulários. Quando variáveis globais devem ser utilizadas, declare-as em um único módulo e agrupe-as por função. Dê a este módulo um nome significativo para indicar sua função, como Public.bas.
Uma boa prática de codificação é escrever um código o mais modular possível. Por exemplo, se seu aplicativo exibir uma caixa de diálogo, coloque todos os controles e códigos necessários para preencher a caixa de diálogo em um único formulário. Isso ajuda a organizar o código do aplicativo em componentes úteis e reduz a sobrecarga do tempo de execução.
1 2Leia o texto completo na próxima página