- Package: impotante utilizzare le convenzioni per evitare conflitti sui nomi, soprattutto nel caso di utilizzo di package importati da terze fonti.- I nomi dei package vanno scritti tutti in minuscolo.
- Se si appartiene/lavora per una compagnia che ha un dominio internet, lo si usa all'inizio del nome del package, prima il "suffisso" del nome a dominio (il dominio di primo livello) poi il dominio effettivo della compagnia (il dominio di secondo livello). Nel casa dei package della Sun si ha "com.sun".
- Se il nome a dominio contiene caratteri speciali non usabili nel nome del package, bisogna convertirli in underscore (per esempio se il nome a dominio è una keyword o se il nome inizia con un numero.
- Se si vuole indicare un sottodominio, lo si può fare, sempre con la logica di scrivere il nome a dominio in maniera inversa, cioè primolivello.secondolivello.sottodominio
- Si può specificare anche il nome dle progetto o della persona che ha sviluppato il package, sempre con la logica di inserirlo in fondo al nome del package.
- Esempi validi sono, per esempio
 com.java
 com.apple.quicktime.v2
 
- I nomi dei package vanno scritti tutti in minuscolo.
- Classi e interfacce: Anche in questo caso è buona norma rispettare le seguenti convenzioni- i nomi dovrebbero rappresentare sostantivi o frasi descrittive non eccessivamente lunghe
- La prima lettera deve essere maiuscola, le altre minuscolo.
- Se il nome è composto da più parole, vanno scritte attaccate, con la prima lettera di ognuna in maiuscolo
- Il nome dovrebbe essere descrittivo della classe, avere un senso, una connessione al significato semantico della classe stessa
- Sono da evitare i verbi, riservati ai metodi
- Esempi di nomi corretti per classi ed interfacce sono:
 ClassLoader
 SecurityManagerThread
 Dictionary
 
- Metodi: utile anche in questo caso rispettare le convenzioni- il nome di un metodo dovrebbe essere costituito da un vervo che spieghi l'azione del metodo stesso, scritto in minuscolo.
- Se si vuole usare più di una parola, contenenti comunque in verbo, la prima parola deve essere minuscola e le altre avere la prima lettera maiuscola.
- Metodi che leggono e settano una variabile, dovrebbero indicare come prima parola, rispettivamente, get e set, seguita dal nome di variabile interessata
- Metodi che servono per ricavare la lunghezza di un oggetto dovrebbero chiamarsi lenght
- Metodi che verificano una variabile booleana dovrebbero chiamarsi is seguita dal nome di variabile da verificare
- Nomi corretti di metodi sonogetVsetVisV
 toV
 sommaCostanti
 
- Fields (non so bene cosa siano)-  Names of fields that are not finalshould be in mixed case with a lowercase first letter and the first letters of subsequent words capitalized.
- Note that well-designed classes have very few publicorprotectedfields, except for fields that are constants (finalstaticfields).
- Fields should have names that are nouns, noun phrases, or abbreviations for nouns.
 
-  Names of fields that are not 
- Costanti:- Le costanti dovrebbero essere rappresentate da parole o frasi descrittive e/o abbreviazioni, scritte in maiuscolo, divise, se più parola, da un underscore.
- Corretti nomi di costanti sono:MIN_VALUEMAX_VALUE
 PS_RUNNING
 S_SUSPENDED
 
- Varibili locali e Parametri- Dovrebbero essere costituite da parole corte, o assemblamenti di lettere, sempre in minuscole, che non necessariamente formano una parola di senso compiuto
- per esempio una variabile che contiene un riferimento all'oggetto ColoredPoint potrebbe chiamarsi cp
- oppure buf potrebbe essere un buon nome per un puntatore ad un buffer
- si dovrebbero evitare variabili di uan sola lettera, escludendo i cicli dove si possono usare (come la classica i) oppure se indicano un type, per esempio per convenzione si usa
 
giovedì 7 febbraio 2008
Convenzioni sui nomi in Java
Dal sito di Java (http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html) presento qui le convenzioni per la rappresentazioni dei nomi in un progetto Java.
Iscriviti a:
Commenti sul post (Atom)
 

Nessun commento:
Posta un commento