Executando verificação de segurança...
1

Guia Prático de Nomenclatura para Visual Basic .NET

Com foco no Visual Studio


  1. Princípios Gerais e Diretrizes de Nomenclatura
  2. Configurar o Visual Studio
  3. Dicas de Ouro
  4. Recomendações Além do .editorconfig
  5. Mais Conteúdos Relacionados




1. Princípios Gerais e Diretrizes de Nomenclatura

No Visual Basic .NET (VB.NET), o padrão seguido pela Microsoft e pela comunidade é baseado nas Guidelines de Design da Framework .NET.
Diferente de linguagens como Python ou C#, o VB.NET é case-insensitive (não diferencia maiúsculas de minúsculas), mas manter a consistência é vital para a legibilidade.



1.1 Nomenclatura Geral (PascalCase)

O padrão predominante no VB.NET é o PascalCase (todas as palavras começam com maiúscula, sem espaços ou underscores).

ElementoPadrãoExemplo
ClassesPascalCasePublic Class GerenciadorUsuario
MódulosPascalCasePublic Module FuncoesMatematicas
Métodos / FunçõesPascalCasePublic Sub CalcularTotal()
PropriedadesPascalCasePublic Property NomeCliente As String
NamespacesPascalCaseNamespace Empresa.SistemaVendas
Arquivo de MóduloPascalCaseLoggerSistema.vb
Constante PúblicaPascalCaseTaxaJurosPadrao
InterfaceI + PascalCaseIRepositorio
Membros de EnumPascalCaseAtivo, Inativo




1.2 Variáveis e Parâmetros (camelCase)

Para distinguir o que é "interno" ou temporário do que é a estrutura da classe, usamos o camelCase (primeira letra minúscula).

  • Variáveis Locais: Usadas dentro de métodos.
    • Exemplo: Dim valorTotal As Decimal = 0
  • Parâmetros de Métodos:
    • Exemplo: Public Sub Atualizar(ByVal idProduto As Integer)



1.3 Campos Privados e Underscores (_)

Campo privados são frequentemente nomeados com _camelCase como convenção configurável, mas isso não é regra obrigatória imposta pela linguagem ou pelas diretrizes oficiais.
Usa-se o underscore seguido de camelCase:

  • Campos Privados:
    • Exemplo: Private _dataNascimento As DateTime

Por que usar o underscore? Isso evita conflitos de nomes com as Propriedades e facilita a identificação de variáveis que pertencem ao escopo da classe (membros de instância) em qualquer lugar do código.



1.4 O que Evitar (regras de ouro)

  • Espaços: Nunca são permitidos em nomes de identificadores.
  • Underscores no meio do nome: Evite Calcular_Total_Vendas. Use CalcularTotalVendas.
  • Notação Húngara: Evite prefixos baseados no tipo (ex: strNome, intIdade). O VS Code e o Visual Studio já mostram o tipo ao passar o mouse; prefira nomes semânticos como NomeUsuario e IdadeUsuario.



1.5 Nomes de Arquivos

Siga a regra do "um para um": o nome do arquivo deve ser idêntico ao nome da classe, módulo ou interface que ele contém.

  • Padrão: PascalCase.
  • Exemplo: Um módulo chamado UtilidadesSistema deve estar em um arquivo UtilidadesSistema.vb.
  • Dica: Se o arquivo for uma classe parcial (ex: Windows Forms), o Visual Studio usará extensões como Form1.Designer.vb, mas o nome principal mantém o PascalCase.



1.6 Constantes (Const)

Existem duas abordagens comuns, mas a oficial da Microsoft para o .NET moderno diverge do antigo VB6:

  • PascalCase (Recomendado): A Microsoft recomenda usar PascalCase para constantes públicas para que elas se pareçam com propriedades ou campos de leitura.
    • Exemplo: Public Const ValorMaximoTentativas As Integer = 5
  • SCREAMING_SNAKE_CASE (Legado/Alternativo): Embora comum em outras linguagens, o uso de MAIUSCULAS_COM_UNDERSCORE é considerado um estilo antigo e menos comum no desenvolvimento .NET moderno.

Aqui vamos utilizar o SCREAMING_SNAKE_CASE ao invés do PascalCase; para manter o código mais amigável para programdores que vem do antigo VB6, bem como para programadores que costumam utilizar várias outras linguagens.
(perceba que aqui estamos deliberadamente contrariando as Guidelines de Design da Framework .NET)



1.7 Enumerações (Enum)

As Diretrizes de Design da Microsoft são bem específicas aqui:

  • Tipo Enum: PascalCase, nome no singular.
    • Exemplo: Public Enum StatusPedido (e não StatusPedidos).
  • Membros do Enum: PascalCase.
    • Exemplo: Processando, Enviado, Entregue.
  • Exceção (Flags): Se o Enum permitir múltiplas seleções (bit fields), use o plural.
    • Exemplo: Public Enum CoresPermitidas.



1.8 Interfaces

Sempre começam com a letra "I" seguida de PascalCase.

  • Exemplo: IControleAcesso, IDisposable.



1.9 Outros Elementos Importantes

  • Eventos: PascalCase. Use verbos no passado ou presente para indicar o tempo (ex: Closing, Closed).
  • Abreviaturas: Evite-as sempre que possível.
    • Para abreviaturas de 2 letras, ambas costumam ficar maiúsculas em PascalCase (ex: System.IO, DBConnection).
    • Para abreviaturas de 3 letras ou mais, use PascalCase normal (ex: HtmlParser, XmlReader, UrlEncoder).
    • Observação sobre Id: Embora ID seja tecnicamente uma abreviatura de duas letras, é prática comum no ecossistema .NET (especialmente em código de domínio) escrever Id em PascalCase ou id em camelCase quando o termo representa Identifier ou Identity (ex: ClienteId, GetId).
      Essa convenção não é uma regra estrita imposta pelas diretrizes da Microsoft, mas é amplamente adotada por legibilidade e consistência semântica.



1.10 Resumo Exemplificado

Public Class ProcessadorPedido ' PascalCase para Classes
    
    ' Underscore + camelCase para campos privados
    Private _quantidadeItens As Integer 

    ' PascalCase para Propriedades
    Public Property StatusPedido As String 

    ' PascalCase para Métodos; camelCase para parâmetros
    Public Function ExecutarProcesso(ByVal codigoBarras As String) As Boolean
        ' camelCase para variáveis locais
        Dim resultadoOperacao As Boolean = False
        
        ' ... lógica ...
        
        Return resultadoOperacao
    End Function

End Class

🔝 (Voltar para o Início)


Carregando publicação patrocinada...
1