Pergunta

Eu tenho essa classe:

class DoSomething
{
    private int timesDone;
    ...
}

Qual é o caminho certo para o nome da variável 'timesDone'?

Às vezes, eu vejo nomeado como m_timesDone.Isso está correto?Onde eu posso encontrar informações sobre diretrizes de nomenclatura?

Obrigado!

Foi útil?

Solução

De acordo com os padrões do MS, seu código está ok. Ter prefixos como M_ não é realmente necessário quando você tem IDE avançado. Por mais curto prefixo como _ Pode ser usado para aproveitar o recurso completo completo para classificar rapidamente os membros da classe.

Eu recomendaria que você obtenha uma cópia de "Diretrizes de design da estrutura: convenções, expressões idiomáticas e padrões para bibliotecas .NET reutilizáveis"Livro para saber mais sobre os padrões da MS

Outras dicas

Não existe um caminho certo. Escolha uma convenção de nomenclatura do seu gosto e fique com ela.

Definitivamente não use m_timesDone.

Basta colocar "private int timesDone".

Você pode aprender sobre como nome de variáveis através da leitura de alguns bons livros como o Código Completo.

Muitas pessoas fazem o que você tem lá. Você então referenciaria como

this.timesDone = someInt

No entanto, não gosto disso porque não sou fã de digitar 'isso' para evitar confrontos com nomes de parâmetros de método. Contanto que seja legível e consistente, você ficará bem.

A Convenção dos Campos de Membros de Prefiguração com M_ vem dos primeiros dias de C ++, quando Notação húngara era popular. Não é uma convenção C# e, como a maioria do código C# é escrito usando um Visual Studio recente, ele adiciona ruído visual sem qualquer vantagem correspondente, porque você pode ver facilmente o escopo de uma variável de qualquer maneira. Não use m_.

O único exemplo de notação húngara que encontrou seu caminho para C# é a prática de prefactar nomes de classe de interface com I, como idisposláveis.

Você pode encontrar algumas informações diretamente no site MSDN:http://msdn.microsoft.com/en-us/library/ms229002.aspx

O único ponto de acordo que você encontrará é que deveria não Seja Timesdown, mas deve começar com uma carta de minúscula.
Nas publicações mais antigas (MS, MSDN), o uso de um sublinhado líder é desencorajado. Mais tarde, está de volta, especialmente para BackingFields para propriedades: _Timesdown.

A Estratégia geralmente adotada é :

Para Classe & Método: Pascal Casing

exemplo:

public class Program
 {
 }

e.g

public void DoSomething() { } 

Para Variáveis: A Caixa De Camelo exemplo:timesDown

Variáveis Locais:

   aTimesDown

Variável Global:

myTimesDown

Espero que isso possa ajudá-lo :)

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