Por que o C# usar uma convenção de Nomenclatura?[fechado]
-
03-07-2019 - |
Pergunta
Eu comecei a trabalhar com C# recentemente e notei que a convenção parece ser a de que as variáveis que começam com letra maiúscula junto com os métodos.
Esta é a única linguagem que faz isso e por que?Por exemplo:
Page Page = new Page();
Page.Action();
Em outros idiomas, você veria em vez disso:
Page page = new Page();
page.action();
Há outros exemplos como esse que está confuso, pois trabalhei muito com UML, Ruby, C++ e Java.
A minha pergunta é, por que o C# fazê-lo desta forma em outros idiomas não?
Editar
Outro Estouro de Pilha usuários estão observando que o C# não seguir essa convenção, este foi apenas um erro da minha parte.
Solução
Bem, na verdade, não:a convenção em C# é para camelcase variável (e de campo) os nomes, e PascalCase métodos:
Page page = new Page();
page.Action();
Outras dicas
Não, este não é bastante não-padrão de código C#.A .Net Framework diretrizes do Projeto na seção 2.6 recomendar o uso de caixa de camelo para nomes de variáveis locais.
Membros públicos de uso PascalCase
, membros privados de uso camelCase
.
Eu acho que isso torna mais clara que suporte de métodos de uma classe contra os métodos que definem uma classe.
public class Foo
{
private Bar bar;
public Bar Bar { get; set; }
public void DoFoo()
{
makeFoo();
}
private void makeFoo()
{
}
}
Cada conjunto de C# convenções que eu tenha escrito ou usado deverá especificar camelo caso para as variáveis, de modo que:
Page page = new Page();
MyClass myClass = new MyClass();
Não sei onde você viu caso de Pascal usado, mas certamente não é algo inerente, ou padrão para C#.
As variáveis em C#, normalmente, não comece com uma letra maiúscula (embora, obviamente, o desenvolvedor própria implementação).O que você provavelmente está confuso sobre o conceito de um Propriedade.Propriedades em C# são utilizadas sintaticamente como variáveis (que podem ser recuperados ou atribuídos, ao invés de incluir somente executada como uma função), mas pode encapsular a lógica de negócios em ambas as operações.
Para responder a uma maior parte da sua pergunta, no entanto, ambas as propriedades e métodos/funções normalmente começam com uma letra maiúscula, de acordo com o Orientações da Microsoft.
PascalCase foi uma convenção na Microsoft muito antes .LÍQUIDA.(Na API Win32, etc.)
A convenção também faz sentido para usar dentro de um único ambiente..LÍQUIDO a ser detalhado do ambiente sobre a sua própria, e a Microsoft-o-companhia de outro, não há realmente nenhum ponto para a adopção de outra pessoa.
Além disso, eu duvido UML tem uma convenção de nomenclatura ou que até mesmo a idéia de UML ter uma convenção de nomenclatura faz sentido.Modelos UML seu software, e deve seguir a convenção de software.
Você pode descobrir muito sobre o que as convenções devem ser adotadas usando as duas ferramentas a seguir.
O FxCop: http://msdn.microsoft.com/en-us/library/bb429476(VS.80).aspx
Público = PascalCase, eu só tendem a usar o camelCase para campos privados, e argumentos.
Leia isso padrão de codificação que facilmente pesquisável no google, não é um mau lugar para começar.