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.

Foi útil?

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

StyleCop: http://code.msdn.microsoft.com/sourceanalysis

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top