STEPS SCRITTURA PROGRAMMA .

STEPS SCRITTURA PROGRAMMA .

una scaletta da applicare per ogni esecizio, una volta memorizzato sono in questo modo sono tranquillo di aver considerato tutte le opzioni possibili e di non aver dimenticato nulla
 
 
MODELLI DI RIFERIMENTO
PRE-CODICE
  • prendo carta e penna se necessario
  • leggo tutta la consegna ed esempio di’esecuzione, utile per definire il messaggio d’errore e capire come usare ogn metodo
definisco tipo di file
  1. classe
  1. abstract
  1. record
  1. sottoclasse estesa con extends → gestione integrità attributi
SCRITTURA
Per ogni classe che creo:
astrazione (un metodo per volta) procedurale, per specifica, per iterazione:(intestazione, specifiche Liskov) + analisi
  • per per ogni metodo che creo valuto: eccezioni, clone() ,hashCode +equals
    • Approfondimento
      • metodi default, getters, setter non necessitano di specifiche
      • clone se oggetto mutabile(modifies) + (getter oppure lo ricevo dall’esterno)
      • hashCode / equals se necessarie uguaglianze
      • FI se lo stato definisce l’oggetto (toString)
      • repOk/eccezioni se mutabile + vincoli
  • attributi
    • VISIBILITA’: final + public se immutable (no modifies escluso il costruttore) → non devo immaginare che possa essere immutabile, se nn ha motodi mutazionali nn lo è
  • implemento i metodi
    • FA / RI + analisi
    • verificare che ogni metodo sia coeso con il significato dell’esercizio
RICORDATI
  • di gestire l’eccezione nel try-catch del main, se va male mi ci vuole una mappa carta e penna
  • le cose da fare le segno localmente come commento sotto le specifiche
  • //OVERVIEW, MODIFIES, attributes
  • equals ,clone()
  • chiamare super() come prima espressione del costruttore
  • toString() devo applicarlo ovunque è possibile → FA (importante)
  • con Rename Symbol posso rinominare la variabile
  • mutabilità anche degli attributi
  • per certi versi devo ascoltare la consegna letteralmente, non costruirmi alti concept mentali per dare un senso, devo travare il senso in quello che leggo e basarmi sull’esempio di esecuzione/resto della consegna, e rendere ogni metodo coeso col tutto. Seguire gli step in ordine astrazione, attributi, implemetnazione è utile a capire come i metodi ad progettare coesistono tra loro
  • import java.util.ArrayList;: verificare che la dicitura sia corretta, quando problemi con gli ArrayList