C#
- Convenções de nomenclatura
![]() |
Neste artigo vou apresentar as principais convenções de nomenclatura usadas na linguagem C#. |
A seguir vou apresentar as principais convenções de nomenclatura e padrões casing.
Pascal Case
Na convenção Pascal Case a primeira letra de cada palavra em um nome é maiúscula e não há espaços entre as palavras.
Ex:
NomeCliente é um exemplo de variável que usa a
convenção Pascal Case, e, é essa convenção que é mais usada para nomear classes,
propriedades e métodos em C#.
Quando usar o Pascal Case:
Exemplos: MinhaClasse, CalcularTotal , NomeCliente, DiaSemana, etc.
public class Cliente { // ... membros da classe } public class PedidoDeCompra { // ... membros da classe } public class ServicoDeAutenticacao { // ... membros da classe } public interface IRepositorioDeCliente { // ... membros da interface } public interface IServicoDeEmail { // ... membros da interface } public class Calculadora { public int Somar(int a, int b) { return a + b; } public decimal CalcularValorTotal(decimal precoUnitario, int quantidade) { return precoUnitario * quantidade; } public string ObterNomeCompleto(string primeiroNome, string sobrenome) { return $"{primeiroNome} {sobrenome}"; } } public class Produto { public int Id { get; set; } public string Nome { get; set; } public decimal Preco { get; set; } public bool EstaAtivo { get; set; } } public enum StatusPedido { Pendente, Processando, Enviado, Entregue, Cancelado } public enum DiaDaSemana { Domingo, SegundaFeira, TercaFeira, QuartaFeira, QuintaFeira, SextaFeira, Sabado } |
Camel Case
Na convenção Camel Case a primeira letra da primeira palavra é minúscula e a
primeira letra de cada palavra subsequente é maiúscula. Não há espaços entre as
palavras. Por exemplo, nomeCliente é um
exemplo de uso da convenção Camel Case. Esta convenção é mais usada para nomear
variáveis locais e parâmetros de métodos.
Quando usar a Camel Case:
// Exemplo de Pascal Case para uma classe public class Cliente { ... } // Exemplo de Pascal Case para uma propriedade public string NomeCliente { get; set; } // Exemplo de Pascal Case para um método public void CalcularTotalPedido() { ... } // Exemplo de Camel Case para uma variável local public void ProcessarPedido(int quantidade) { decimal precoUnitario = 10.50m; // Camel Case decimal valorTotal = quantidade * precoUnitario; // Camel Case // ... } |
Snake Case
Snake Case é outro estilo de formatação de nomenclatura usado em programação e marcação. Nesse estilo, as palavras são separadas por underscores (_). Aqui estão algumas regras de nomenclatura em Snake Case:
Por exemplo, se tivéssemos um identificador para um nome de variável ou um nome de arquivo, "exemplo de nome" seria formatado em Snake Case como "exemplo_de_nome".
O Snake Case é comumente usado em linguagens como Python, PostgreSQL e em algumas convenções de codificação em C++. Além disso, é usado em sistemas operacionais Unix para nomes de arquivos.
Quando usar o Snake Case:
Kebab Case
Kebab Case é um estilo de formatação de nomenclatura que é usado principalmente em linguagens de programação e marcação. Nesse estilo, as palavras são separadas por hífens (-).
Aqui estão algumas regras de nomenclatura em Kebab Case:
Por exemplo, se tivéssemos um identificador para um nome de variável ou um nome de arquivo, "exemplo de nome" seria formatado em Kebab Case como "exemplo-de-nome".
Vale ressaltar que o Kebab Case é frequentemente usado em URLs, nomes de arquivos em sistemas operacionais Unix e também em linguagens como HTML, CSS e JavaScript, onde é uma convenção popular para nomes de classes, IDs e atributos.
Quando usar a Kebab Case:
wwwroot/ ├── css/ │ └── estilos-principais.css ├── js/ │ └── script-de-validacao.js ├── imagens/ │ └── logo-da-empresa.png └── index.html |
O uso direto de Kebab Case para variáveis, classes, métodos ou propriedades não é uma prática comum nem recomendada em C#. O compilador C# aceitará identificadores com hífens, mas eles seriam interpretados como uma subtração, não como parte do nome.
Em resumo, você pode encontrar Kebab Case em contextos externos ao código C# propriamente dito, como URLs, nomes de arquivos estáticos ou dados de configuração de outros sistemas.
Convenções de nomenclatura usadas no C#
I
(ex:
IClienteService
).
Async
a métodos
assíncronos (ex:
BuscarDadosAsync
).Lembre-se de que aderir a convenções de nomenclatura ajuda na legibilidade e manutenção do código. Se você estiver trabalhando em um projeto em equipe, siga as convenções de nomenclatura estabelecidas pelo time para manter a consistência no código-fonte.
Escolher qual a convenção usar em seu projeto pode ajudar a tornar seu código mais legível e fácil de entender. Ao escolher uma convenção de nomenclatura considere o contexto em que ele será usado e se ele está em conformidade com quaisquer convenções ou diretrizes de nomenclatura.
Seguindo essas práticas recomendadas, você pode criar um código mais fácil de ler e manter.
E estamos
conversados...
"Porque para mim o viver é Cristo, e o morrer é ganho."
Filipenses 1:21
Referências:
C# - Calculando a diferença entre duas datas
NET - Padrão de Projeto - Null Object Pattern
C# - Fundamentos : Definindo DateTime como Null ...
C# - Os tipos Nullable (Tipos Anuláveis)