J'ai une classe de grande taille (une quarantaine de méthodes) qui fait partie d'un paquet que je vais soumettre en tant que cours-travail. À l’heure actuelle, les méthodes utilisées sont plutôt confuses en termes d’utilité publique / privée, etc., et je souhaite les ordonner de manière judicieuse. Y a-t-il un moyen standard de faire cela? Par exemple, normalement, les champs sont listés avant les méthodes, le ou les constructeurs sont listés avant les autres méthodes, et les getters / setters en dernier; Qu'en est-il des méthodes restantes?
Réponses
Trop de publicités?Classe (statique) variables: d'Abord, le public de variables de classe, puis l' protégées, et puis le privé.
Les variables d'Instance: Premier public, protégé, et ensuite privé.
Les constructeurs
Méthodes: Ces méthodes devraient être regroupés par fonctionnalité plutôt de par l'étendue ou l'accessibilité. Par exemple, d'une salle de classe de la méthode peut être entre les deux méthodes d'instance. L'objectif est de faire la lecture et la compréhension du code plus facile.
Certaines conventions de la liste de toutes les méthodes publiques d'abord, et puis tous les autres, privés - ce qui signifie qu'il est facile de séparer les API de la mise en œuvre, même quand il n'y a pas d'interface, si vous voyez ce que je veux dire.
Une autre idée est de regrouper les méthodes d'ensemble - ce qui rend plus facile à repérer des coutures où vous pouvez diviser votre classe en plusieurs plus petits, plus ciblée.
Le plus précis lien vers le Code de «Conventions»: «Classe et d'Interface Déclarations»
Vous ne savez pas si il est universellement admis, mais mes préférences sont;
- les constructeurs d'abord
- méthodes statiques prochaine, si il y a une méthode main, toujours avant les autres méthodes statiques
- non méthodes statiques prochaine, généralement dans le but de l'importance de la méthode suivie par toutes les méthodes qu'il appelle. Cela signifie que les méthodes publiques qui appeler d'autres méthodes de la classe apparaissent vers le haut et méthodes privées qui appellent pas d'autres méthodes finissent généralement vers le bas
- des méthodes standard comme
toString
,equals
ethashcode
prochaine - getters et setters ont une place spéciale réservée à droite au fond de la classe