Come non superare il laboratorio di Programmazione II B
(Ultimo aggiornamento 16/2/2004)
Se, nel preparare i vostri elaborati per
il laboratorio di Programmazione II B,
vi atterrete scupolosamente alle istruzioni contenute in
queste note avrete ottime possibilita'
di non superare la prova.
Se, nonostante i vostri sforzi, il docente considerasse i vostri
elaborati sufficienti, non demoralizzatevi: anche gli insegnanti piu'
attenti commentono degli errori di valutazione.
Continuate ad attenervi fedelmente a queste istruzioni:
riuscirete senz'altro a non superare le prove di laboratorio
per i corsi successivi.
Partire bene
Per produrre un elaborato insufficiente occorre
innanzitutto attenersi ad alcune regole generali, di seguito elencate.
-
I programmatori Java seguono una precisa "convenzione per l'assegnazione
dei nomi" (illustrata, ad esempio, nell'appendice A1.7.1 del libro di testo):
NON UTILIZZATELA.
-
L'appendice A1 del libro di testo presenta delle "linee guida per
la codifica": NON SEGUITELE.
Meglio ancora, nello scrivere il vostro codice, non seguite
uno stile di codifica particolare ma improvvisate di volta in volta,
a seconda dell'umore del momento. E' particolarmente utile
utilizzare stili diversi all'interno di una stessa classe.
-
Non utilizzate il programma javadoc
(descritto alle pagine 54, 57 e 748 del libro di testo).
Meglio ancora, non mettete nessun commento.
Se proprio volete ostinarvi a scrivere dei commenti,
metteteli all'ultimo momento: in questo modo non potranno
fornirvi nessun aiuto durante la stesura del programma.
Inoltre, cosi' facendo, avrete buone probabilita' di scrivere,
senza particolare impegno, commenti che
non corrispondano al reale contenuto del codice.
Se vi trovate nella deprecabile situazione di dover modificare
del codice commentato,
non leggete
commenti
prima di fare le modifiche.
Non leggeteli neanche dopo.
Evitate, soprattutto, di aggiornare i commenti per tener conto
delle modifiche che avete introdotto.
-
La documentazione della libreria Java e disponibile on-line sul sito
della didattica
(
https://www.educ.di.unito.it/intranet/dol/ApiBook14/api/index.html
): NON CONSULTATELA MAI. Se possibile,
dimenticatevi della sua esistenza.
-
Non tentate di mandare in esecuzione il codice che avete scritto.
Se possibile, non provare neppure a compilarlo.
E' risaputo che si tratta di inutili perdite di tempo:
avrete tutto il tempo per compilare ed eseguire il codice in sede di esame
(quando lavorerete, potrette lasciare questa incombenza ai vostri clienti).
Ulteriori suggerimenti per ottenere punteggio 0 per gli esercizi
Le regole generali sopra elencate potrebbero risultare oscure e di
difficile applicazione.
In questa sezione forniamo ulteriori indicazioni,
alcune delle quali specifiche per gli esercizi assegnati
(la lettura risultera'
comunque utile anche a chi non conosce il testo degli esercizi).
Suggerimenti per ottenere punteggio 0 per il "Primo esercizio"
Il docente ha fornito una classe "Vita"
(contenuta nel file "Vita.java")
incompleta. La classe e' incompleta perche'
sono solo presenti le dichiarazioni delle variabili
di istanza e le intestazioni dei metodi pubblici
(con i relativi commenti in stile javadoc).
Mancano i body dei metodi pubblici e gli eventuali
metodi privati.
L'esercizio richiede di completare la classe "Vita"
e scrivere, in un file
"ProvaVita.java", un'applicazione interattiva
che permetta di
giocare.
E' sufficiente focalizzarsi sul file "Vita.java".
-
Cancellate i commenti contenuti nel file "Vita.java"
(attenzione: fatelo prima di averli letti).
-
Evitate di usare le variabili di istanza gia' presenti nel file
"Vita.java" (potete anche cancellarle).
Introducete nuove variabili di istanza
e usatene un sottoinsieme (e' importante: ci deve essere almeno una variabile
di istanza che non e' usata).
-
Completate in un qualche modo oppure cancellate
i metodi presenti nella classe "Vita"
(basta che non ci siano errori
di compilazione).
In ogni caso, non usateli per nessun motivo.
Introducete nuovi metodi, e usate quelli (ma non tutti).
Suggerimenti per ottenere punteggio 0 per il "Primo esercizio e mezzo"
e per il "Secondo esercizio"
Premesso che la soluzione piu' elegante rimane sempre
quella di evitare del tutto i commenti,
attenendovi alle seguenti indicazioni avrete comunque buone
probabilita' di successo.
-
Il commento "pubblico" generale (posto all'inizio del file che contiene
la classe)
dovra' menzionare le variabili private di istanza e
gli eventuali metodi privati.
-
I commenti "pubblici" dei metodi (posti prima di ciascun metodo pubblico)
dovranno evitare di menzionare i parametri,
mentre dovranno menzionare tutte le variabili locali.
-
I commenti "pubblici" dei costruttori (posti prima di ciascun metodo pubblico)
dovranno evitare di menzionare i parametri,
mentre dovranno menzionare tutte le variabili di istanza e tutte
le variabili locali.
-
I commenti "privati", posti accanto alle variabili di istanza,
non dovranno aggiungere nulla di piu' a quello che
puo' essere estratto leggendo le rispettive dichiarazioni.
Ad esempio, per quando riguarda la variabile di istanza della
classe Rubrica, vanno benissimo:
ArrayList e; // Variabile di tipo ArrayList
oppure:
ArrayList e; // Variabile di istanza di tipo ArrayList
// che contiene riferimenti ad oggetti
Mentre sono assolutamente da evitare commenti come il seguente:
ArrayList elenco; /* Elenco delle persone (oggetti della classe Persona)
presenti nella rubrica, ordinate in ordine
lessicografico crescente per cognome.
In elenco non ci possono essere due persone
con lo stesso cognome.
*/
Per quanto riguarda i metodi pubblici, per poterli
utilizzare dovra' essere necessario sapere
che la Rubrica e' implementata utilizzando un ArrayList.
Ogni operazione sulla Rubrica dovra', se possibile, coinvolgere
l'indice dell'ArrayList nel quale e' memorizzato il
riferimento alla persona coinvolta.