Pergunta

Gosto de organizar propriedades simples como esta:

private int foo;
public int Foo
{
    get { return foo; }
    set
    {
        // validate value
        foo = value;
    }
}

Eu estive brincando com EstiloCop, e grita comigo por colocar campos depois dos construtores.Esse estilo é geralmente aceito, desde que o campo nunca seja referenciado fora da propriedade?Observação:Sei que há uma preferência pessoal envolvida, mas pergunto-me se existe um consenso geral relativamente a esta questão.

Foi útil?

Solução

Sim, isso me parece razoável.

Normalmente coloco todos os campos e propriedades no topo, depois os construtores e depois os métodos - mas se você quiser colocá-los depois dos construtores, isso também parece razoável.

Outras dicas

Se suas propriedades terão acesso simples a dados, considere usar propriedades automáticas:

public int Foo { get; set; }

O compilador criará uma variável de membro privada nos bastidores em seu nome.

Especificamente para sua pergunta, não dê muita importância a ferramentas como ReSharper ou StyleCop.Algumas das maneiras como eles formatam o código e as coisas das quais reclamam são realmente uma questão de preferência.Não coloco as variáveis-membro perto de suas propriedades públicas, mas posso ver como isso seria conveniente.

Poderia?Como isso afeta apenas as pessoas da sua equipe, você precisa descobrir o que eles acham que é melhor e seguir em frente.Style Cop costuma ser um pouco...exagerado em suas recomendações.

Eu costumo colocá-los depois do imóvel, pois o espaço acima é reservado para documentação.

// placed up here, it looks kinda weird, imho
// private int foo;
/// <summary>
/// The index of the Foo in the <see cref="Bar"/>
/// </summary>
public int Foo
{
    get { return foo; }
    set
    {
        // validate value
        foo = value;
    }
}
private int foo;

Pode ser uma questão de preferência, mas parece melhor do que misturá-los com membros privados.

Eu normalmente uso uma região aninhada para apoiar campos dentro da região de propriedades, pois ela não interfere nos comentários do Visual Studio e ainda assim eles são agrupados.

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