Stile di codifica

Il linguaggio Java:

  • è a schema libero

  • è case sensitive

  • supporta i commenti

  • supporta le parole chiave

  • ha delle regole per i tipi di dati e convenzioni per i nomi

Schema Libero:

Potremmo scrivere un intero programma in Java tutto su di un’unica riga, oppure andando a capo dopo ogni parola scritta: il compilatore compilerà ugualmente il nostro codice se esso è corretto. Ovviamente però, il lettore avrà difficoltà a capire il significato del codice! Esistono dei metodi standard di formattazione del codice, che facilitano la lettura un programma Java. Vi presentiamo di seguito i due più usati metodi di formattazione:

 

class Classe

{

    int intero;

    public void metodo()

         {

        intero=10;

        int unAltroIntero=11;

         }

}

 

Con questo stile (che viene utilizzato anche dai programmatori C), il lettore può capire subito dove la classe ha inizio e dove ha fine, dato che le parentesi graffe che delimitano un blocco di codice si trovano incolonnate. Stesso discorso per il metodo: risultano evidenti l’inizio, la fine e la funzionalità del metodo.

Un altro stile molto utilizzato (ma solo dai "javisti")è il seguente:

 

class Classe {

    int intero;

    public void metodo() {

        intero=10;

        int unAltroIntero=11;

          }

}

 

per il quale valgono circa le stesse osservazioni fatte per il primo metodo.

Si raccomanda, per una buona riuscita del lavoro che sarà svolto in seguito dal lettore, una rigorosa applicazione di uno dei due stili appena presentati.

- Case sensitive:

Java è un linguaggio case sensitive, il che significa che fa distinzione tra lettere maiuscole e minuscole. Il programmatore alle prime armi tende a digerire poco questa caratteristica del linguaggio. Bisogna ricordarsi di non scrivere ad esempio class con lettera maiuscola, perché per il compilatore non significa niente. L’identificatore numeroLati è diverso dall’identificatore numerolati, quindi bisogna fare un po’ d’attenzione, e, specialmente nei primi tempi, avere un po’ di pazienza.

- Commenti:

Commentare opportunamente il codice implementato, è una pratica che dovrebbe essere considerata obbligatoria dal programmatore. Solo così infatti, le correzioni da apportare ad un programma saranno enormemente facilitate. Java supporta tre tipi diversi di commenti al codice:

1)

// Commento su una sola riga

 

2)

/*

* Commento su

* più righe

*/

 

 

3)

/**

* Commento per produrre

* la documentazione del codice

* in formato HTML

*/

 

Nel primo caso tutto ciò che scriveremo su di una riga dopo aver scritto "//" non sarà preso in considerazione dal compilatore. Questa sintassi ci permetterà di commentare brevemente alcune parti di codice.

Il commento su più righe potrebbe essere utile ad esempio per la descrizione delle funzionalità di un programma. In pratica il compilatore non prende in considerazione tutto ciò che scriviamo tra "/*" ed "*/". Entrambi questi due primi tipi di commenti sono ereditati dal linguaggio C++. Ciò che invece rappresenta una grande novità, è il terzo tipo di commento. L’utilizzo in pratica è lo stesso del secondo tipo, e ci permette di fare commenti su più righe. In più, ci offre la possibilità di produrre in modo standard, in formato HTML, la documentazione tecnica del programma, sfruttando un comando chiamato "javadoc". Per esempi pratici d’utilizzo di questo strumento il lettore è rimandato alla fine di questo modulo.

- Regole per gli identificatori:

Gli identificatori (nomi) dei metodi, delle classi, degli oggetti, delle variabili, delle costanti e delle interfacce (concetto che avremo modo di apprezzare più avanti), hanno delle regole da rispettare.

Un identificatore non può coincidere con una parola chiave (keyword) di Java. Una parola chiave, è una parola che ha un certo significato per il linguaggio di programmazione. Nella seguente tabella sono riportate tutte le parole chiave di Java (versione 1.3 del JDK):

abstract   boolean      break        byte            case

catch      char         class        const     continue   

default    do           double       else          extends

false      final        finally      float         for

goto       if           implements   import    instanceof 

int        interface    long         native    new 

null       package      private      protected public

return     short        static       strictfp  super

switch     synchronized this         throw     throws 

transient  true         try          void      volatile 

while

 

Possiamo notare in questa tabella, alcune parole chiave che abbiamo già incontrato come per esempio int, public, void, return e class, e di cui già conosciamo il significato. Ovviamente non potremo chiamare una variabile class, oppure un metodo void. Possiamo notare anche le parole riservate goto e const, che non hanno nessun significato in Java, ma che non possono essere utilizzate come identificatori. Esse sono dette parole riservate (reserved words).

2)In un identificatore:

il primo carattere può essere A-Z, a-z, _, $

il secondo ed i successivi possono essere A-Z, a-z, _, $, 0-9

Quindi: "a2" è un identificatore valido, mentre "2a" non lo è.

N.B.: in realtà, è possibile che alcuni compilatori, compresi quelli dei J.D.K., accettino altri simboli per comporre gli identificatori. Per esempio i simboli "£" , e "€" , sono tollerati. Tuttavia, il lettore troverà difficilmente altri testi che accenneranno a ciò che è stato appena fatto osservare. E’ in ogni caso sconsigliabile non seguire le direttive Sun. Ma il dovere di cronaca…

- Regole facoltative per gli identificatori e convenzioni per i nomi

Utilizzando gli identificatori tenendo presenti le due regole che abbiamo appena descritto, non otterremo mai errori in compilazione relativi. Ma esistono delle direttive standard fornite dalla Sun, per raggiungere uno standard anche nello stile di implementazione. E’ importantissimo utilizzare queste direttive in un linguaggio tanto standardizzato quanto Java.

Gli identificatori è bene che siano significativi. Infatti, se scriviamo un programma utilizzando la classe "a" , che definisce le variabili "b" , "c" , "d" e il metodo "q" , sicuramente ridurremo la comprensibilità del programma stesso. Di solito l’identificatore di una variabile, è composto da uno o più sostantivi, per esempio "numeroLati" , o "larghezza". Gli identificatori dei metodi di solito conterranno dei verbi, ad esempio "stampaNumero" , o "somma". Questa è una direttiva che è dettata più che da Sun dal buon senso.

Esistono delle convenzioni per gli identificatori, così come in molti altri linguaggi. In Java sono semplicissime:

Un identificatore di una classe (o di un’interfaccia) deve sempre iniziare per lettera maiuscola. Se composto di più parole, queste non si possono separare perché il compilatore non può intuire le nostre intenzioni. Come abbiamo notato in precedenza, bisogna invece unire le parole in modo tale da formare un unico identificatore, e fare iniziare ognuna di esse con lettera maiuscola. Esempi di identificatori per una classe potrebbero essere:

- Persona

- MacchinaDaCorsa

- FiguraGeometrica

Un identificatore di una variabile deve sempre iniziare per lettera minuscola. Se l’identificatore di una variabile deve essere composto di più parole, valgono le stesse regole che valgono per gli identificatori delle classi. Quindi, esempi di identificatori per una variabile potrebbero essere:

- pesoSpecifico

- numeroDiMinutiComplessivi

- x

Per un identificatore di un metodo valgono le stesse regole che valgono per gli identificatori delle variabili. Potremo in ogni caso sempre distinguere un identificatore di una variabile da un identificatore di un metodo, giacché quest’ultimo è sempre seguito da parentesi tonde. Inoltre, per quanto già affermato, il nome di un metodo dovrebbe contenere almeno un verbo. Quindi, esempi di identificatori per un metodo potrebbero essere:

- sommaDueNumeri(int a, int b)

- cercaUnaParola(String parola)

- stampa()

Gli identificatori delle costanti invece, si devono distinguere nettamente dagli altri, e tutte le lettere dovranno essere maiuscole. Se l’identificatore è composto di più parole, queste si separano con underscore (simbolo di sottolineatura). Per esempio:

- NUMERO_LATI_DI_UN_QUADRATO

- PI_GRECO

 



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Redazione
Ti interessano altri articoli su questo argomento?
Chiedi alla nostra Redazione!