Pergunta

Eu vi alguns desenvolvedores colocar declarações de variáveis ??de instância no final das aulas que eu principalmente vê-los colocado na parte superior. As únicas razões que eu posso pensar para fazer isso são preferência estilística ou talvez de alguma forma torna mais fácil trabalhar com em um IDE. Existe uma razão mais legítima para escolher este estilo?

Foi útil?

Solução

Por causa do "Programa a um 'interface', e não uma 'aplicação'." (Gang of Four 1995: 18) ( http://en.wikipedia.org/wiki/ Design_Patterns # Introduction.2C_Chapter_1 ), algumas pessoas preferem declarar variáveis ??de instância no fundo da classe. a teoria de que o usuário de uma classe é mais interessado no que eles podem fazer com a classe (métodos) em oposição a como algo é feito (variáveis). Colocar os métodos no topo da classe expõe-los primeiro para o usuário quando olham para o código.

Outras dicas

Não há particularmente "boa" razão para fazê-lo de uma forma ou de outra. A única coisa que realmente importa é que todos no mesmo projeto faz isso da mesma maneira.

No entanto, colocando-os no topo é muito mais comum na minha experiência, e é a prática recomendada pela diretrizes de estilo Java , de modo que é o que eu ir com ele.

Você pode impor a sua convenção escolhida com um código-fonte automática formatador, como Jalopy , ou o que vem com Eclipse.

É principalmente (se não totalmente) preferência pessoal. Eu gosto deles no topo, mas eu não poderia realmente dar uma razão melhor para ele, em seguida, que é a maneira que eu estou acostumado a.

A maioria das variáveis ??de instância são private, por isso tendem a colocá-los na parte inferior porque eu declarar membros por ordem decrescente de visibilidade. Se eu declarou-os em ordem de aumentar visibilidade que seria no topo, que também é razoável.

O que eu não gosto é que tem campos privados seguido por campos públicos seguido por métodos privados. Se eu estou desenvolvendo uma classe de cliente Quero todas as partes públicas em conjunto (desde que é tudo que eu estou interessado.)

Eu sempre racionalizado que se você tiver uma variável de nível de classe privada, então você quer codificado uma configuração, ou você está acompanhando estado de uma forma ou de outra. Se você está acompanhando estado, em seguida, 1) que deve ser feita óbvio para todos que vai escrever código no arquivo a partir do momento em que abrir o arquivo, e 2) rastreamento de lotes de estados é uma enorme cheiro de código, e se meus devs estão fazendo isso, então eu quero que seja óbvio. Então colocá-lo no topo, IMHO, faz mau código mais óbvio, e serve como um aviso para futuras pessoas que editar a classe.

Definitivamente separar o seu público / protegido contra campos e membros privados, porém, porque as pessoas interessadas em um, provavelmente não estão interessados ??na outra.

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