Linee Guida e Informazioni per i progetti

Quelle che seguono sono un insieme di linee guida da rispettare nello sviluppo del progetto. Il rispetto di queste linee guida influisce significativamente sulla valutazione finale del progetto.

Le linee guida servono a:

  • abituarvi a organizzare le idee prima di scrivere codice per evitare che si implementi software “un po' come viene”
  • fare sì che il risultato dei vostri sforzi possa essere utile al resto dell' umanità, ovvero evitare che sia più facile riscrivere da capo quello che avete fatto che usarlo.

Riguardo allo stile di programmazione

  • Indentate il codice: aiuta voi a capire cosa state scrivendo, riducendo la dose di bug di distrazione che vengono classicamente infilati in qualunque codebase. Lo standard GNU per l' indentazione del codice è disponibile qui.
  • Commentate il codice: i punti complessi del codice vanno commentati, quelli banali possono non esserlo.
  • I nomi delle variabili, delle funzioni e i commenti devono essere in lingua inglese. Non importa se il vostro inglese non è perfetto, per un qualunque collega straniero è sempre più facile da capire dell' italiano.
  • I nomi scelti devono essere comunicare il ruolo svolto da variabili e funzioni. Ad esempio “pippo” “var” “fun” o “temp” NON sono una buona scelta.
  • E' utile, per aumentare la leggibilità del codice su tutti i sistemi, tenere la lunghezza massima delle linee al di sotto degli 80 caratteri.
  • Una serie di ulteriori consigli di stile è riportata qui.
  • Nella programmazione di sistema è buona misura evitare funzioni obsolete o non portabili: trovate qui una lista delle funzioni sconsigliate, insieme al loro rimpiazzo approvato dallo standard POSIX

Riguardo alla gestione dei sorgenti e alla collaborazione

  • La gestione del sorgente del progetto va effettuata utilizzando propriamente un sistema di versioning del codice. Lo strumento di versioning da usare è Git, di cui potete reperire un tutorial qui.
  • Salvo restrizioni di licenza sul codice, potete utilizzare direttamente i repository git di Github. Forniscono spazio illimitato per progetti pubblici.

Riguardo alla documentazione

  • La gestione della documentazione del progetto va fatta tramite Doxygen per quello che riguarda il codice.
  • L' eventuale manuale dell' utente, ca scritto in LaTeX (trovate una guida per iniziare qui ) oppure in forma di manpage formattata secondo [g|n]roff.
  • Nel caso stiate contribuendo allo sviluppo di un progetto open source, al termine della realizzazione, siete vivamente incoraggiati a sottomettere il risultato del vostro lavoro. A questo scopo ricordo che è opportuno integrarsi nello stile di programmazione (indentazione, suddivisione del codice, uso delle API) del progetto in cui andate a inserirvi. Questo rende più facile per gli sviluppatori accettare il vostro contributo, dando così il giusto riconoscimento ai vostri sforzi.

Riguardo alla valutazione e registrazione

  • La registrazione del voto dell' esame avviene al primo appello utile una volta completati entrambi i moduli.
  • Il progetto può essere presentato quando preferite, ma per la registrazione è necessario aver completato entrambe le parti dell' esame.
  • Per ottenere una valutazione riguardo a un progetto, esso va presentato una settimana prima dell' appello corrispondente per consentire una lettura del codice a chi vi valuta.