Eu tenho uma classe grande (40 ou mais métodos) que faz parte de um pacote que enviarei como trabalho de curso. Atualmente, os métodos são bastante desordenados em termos de utilidade pública / privada etc. e eu quero ordená-los de uma maneira sensata. Existe uma maneira padrão de fazer isso? Por exemplo, normalmente os campos são listados antes dos métodos, os construtores são listados antes dos outros métodos e os getters / setters duram; e os métodos restantes?
java
methods
conventions
Fredley
fonte
fonte
Respostas:
Algumas convenções listam todos os métodos públicos primeiro e depois todos os privados - isso significa que é fácil separar a API da implementação, mesmo quando não há interface envolvida, se você entende o que quero dizer.
Outra idéia é agrupar métodos relacionados - isso facilita a identificação de costuras onde você pode dividir sua classe grande existente em várias menores e mais direcionadas.
fonte
Variáveis de classe (estáticas): primeiro as variáveis de classe pública, depois as protegidas e depois as privadas.
Variáveis de instância: primeiro público, depois protegido e depois privado.
Construtores
Métodos: esses métodos devem ser agrupados por funcionalidade e não por escopo ou acessibilidade. Por exemplo, um método de classe privada pode estar entre dois métodos de instância pública. O objetivo é facilitar a leitura e a compreensão do código.
Fonte: http://www.oracle.com/technetwork/java/codeconventions-141855.html
fonte
O link mais preciso para «Convenções de código»: «Declarações de classe e interface»
fonte
Não tenho certeza se existe um padrão universalmente aceito, mas minhas próprias preferências são;
toString
,equals
ehashcode
próximofonte
new Thing()
deve resultar apenas em uma nova Coisa instanciada. Isso não deve resultar na abertura de conexões com o banco de dados, na40 métodos em uma única classe é um pouco demais.
Faria sentido mover parte da funcionalidade para outras classes com nome adequado. Então é muito mais fácil entender.
Quando você tem menos, é muito mais fácil listá-las em uma ordem de leitura natural. Um paradigma frequente é listar as coisas antes ou depois de você precisar, na ordem em que você precisar.
Isso geralmente significa que
main()
vai por cima ou por baixo.fonte
onPause()
,onResume()
etc., bem como todos os meusOnClickListener
campos, que, apesar de serem campos, não se parecem ou se comportam como eles por isso é sensato listá-los separadamente.Minha "convenção": estática antes da instância, pública antes da privada, construtora antes dos métodos, mas método principal na parte inferior (se presente).
fonte
Além disso, o eclipse oferece a possibilidade de classificar os alunos para você, se por algum motivo você os misturou:
Abra seu arquivo de turma, vá para "Origem" no menu principal e selecione "Classificar membros".
retirado daqui: Métodos de classificação no Eclipse
fonte
Você está usando o Eclipse? Nesse caso, eu continuaria com a ordem de classificação padrão de membros, porque provavelmente é mais familiar para quem lê seu código (embora não seja minha ordem de classificação favorita).
fonte