Sto lavorando a una convenzione di codifica da seguire per i miei progetti Java. Trovo più facile trovare la mia strada attraverso una classe quando raggruppo i suoi metodi per categoria. Ad esempio, piuttosto che avere ciascuna coppia getter / setter per una variabile una dopo l'altra in una lunga lista, trovo più semplice raggruppare tutti i getter in una sezione e tutti i setter in un'altra. Ciò significa che il mio codice è organizzato in questo modo:
public class MyClass {
//=========================== Instance Fields ============================//
//========================== Instance Interface ==========================//
//----------------------------- Constructors -----------------------------//
//------------------------------- Getters --------------------------------//
//------------------------------- Setters --------------------------------//
/* More categories? */
//============================ Static Fields =============================//
//=========================== Static Interface ===========================//
}
Il problema con questo approccio è uno con le mie conoscenze: non so come classificare ogni metodo. Ovviamente, ho familiarità con costruttori, distruttori, getter e setter. Ho anche sentito parlare di osservatori / query, trasformatori / mutatori e iteratori, anche se non ho ancora trovato nomi standardizzati per questi. Ma poi ci sono metodi che mi lasciano grattarmi la testa, come metodi per classi immutabili che restituiscono una nuova versione di quell'oggetto che rappresenta una modifica a quello stato immutabile.
Esiste un gruppo standardizzato di categorie in OOP che descrive cosa possono fare i metodi? Se sì, qualcuno potrebbe fornire un elenco di questi nomi e spiegazioni su cosa fa quella categoria? Se queste categorie sono specifiche della lingua, potresti fornire anche un set specifico per Java?