User Tools

Site Tools


tesi:codice

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
tesi:codice [2019/08/27 16:44]
moreno created
tesi:codice [2019/08/27 17:04] (current)
moreno
Line 7: Line 7:
 I programmi devono compilare correttamente senza warning (e ovviamente senza errori). Nel caso di programmi in C/C++ compilati con ''​gcc'',​ ciò significa che i programmi devono compilare senza warning passando i flag ''​-Wall -Wpedantic''​. È sempre opportuno inoltre specificare lo standard che si vuole rispettare; ad esempio, se il proprio programma è scritto in C99, suggerisco di compilare con: I programmi devono compilare correttamente senza warning (e ovviamente senza errori). Nel caso di programmi in C/C++ compilati con ''​gcc'',​ ciò significa che i programmi devono compilare senza warning passando i flag ''​-Wall -Wpedantic''​. È sempre opportuno inoltre specificare lo standard che si vuole rispettare; ad esempio, se il proprio programma è scritto in C99, suggerisco di compilare con:
  
-''​gcc -std=c99 -Wall -Wpedantic ​prova.c''​+''​gcc -std=c99 -Wall -Wpedantic ...''​
  
 Se invece si programma in ANSI C, suggerisco di usare: Se invece si programma in ANSI C, suggerisco di usare:
  
-''​gcc -std=ansi -Wall -Wpedantic ​prova.c''​+''​gcc -std=ansi -Wall -Wpedantic ...''​
  
 (esistono parametri analoghi per le varie versioni del C++). (esistono parametri analoghi per le varie versioni del C++).
Line 88: Line 88:
 Il codice dovrebbe essere leggibile su una finestra larga 80 caratteri. I monitor moderni sono molto più larghi, ed è facile lasciarsi prendere la mano utilizzando tutta la larghezza dello schermo. Così facendo, però, le righe di codice e i commenti risultano troncati, o vengono mandati a capo, se il codice viene leggo usando una finestra più stretta. ​ Il codice dovrebbe essere leggibile su una finestra larga 80 caratteri. I monitor moderni sono molto più larghi, ed è facile lasciarsi prendere la mano utilizzando tutta la larghezza dello schermo. Così facendo, però, le righe di codice e i commenti risultano troncati, o vengono mandati a capo, se il codice viene leggo usando una finestra più stretta. ​
  
-L'​ampiezza di 80 caratteri è [[https://​en.wikipedia.org/​wiki/​Characters_per_line|un retaggio del passato]] che però risulta comodo. ​Personalmente,​ trovo difficile leggere ​codice ​sorgente scritto usando ​linee troppo ​lunghe, e per questo mi attengo ​sempre ​alla regola tacita degli 80 caratteri.+L'​ampiezza di 80 caratteri è [[https://​en.wikipedia.org/​wiki/​Characters_per_line|un retaggio del passato]] che però risulta comodo ​per [[https://​stackoverflow.com/​questions/​110928/​is-there-a-valid-reason-for-enforcing-a-maximum-width-of-80-characters-in-a-code/​111009#​111009|diversi motivi]]: 
 + 
 +* Il codice ​non va a capo se viene incollato in un messaggio (solo testo) di posta elettronica;​ 
 + 
 +* Il codice risulta più leggibile rispetto al caso in cui si usino linee lunghe, ​dato che non è necessario spostare lo sguardo continuamente a destra ​sinistra; 
 + 
 +* È possibile mantenere più finestre affiancate sui monitor moderni, se lo si desidera. 
 + 
 +Si tenga presente che, sebbene i monitor moderni abbiano guadagnato risoluzione e dimensione, i nostri occhi sono rimasti ​sempre ​gli stessi. 
 + 
 +=== Se possibile, rendere disponibile il codice con una licenza libera === 
 + 
 +Sebbene non sia richiesto, suggerisco di rendere disponibile il proprio codice in base ad una licenza libera, da aggiungere in un commento all'​inizio di ogni file sorgente. Alcuni esempi di licenze libere: 
 + 
 +* [[https://​www.gnu.org/​licenses/​gpl.html|GNU GPL]], [[https://​www.gnu.org/​licenses/​lgpl.html|LGPL]],​ [[https://​www.gnu.org/​licenses/​agpl.html|AGPL]] (preferibilmente versione 3 o successive);​ 
 + 
 +* [[https://​directory.fsf.org/​wiki/​License:​BSD-3-Clause|BSD License]] (ne esistono diverse versioni);​ 
 + 
 +* [[https://​creativecommons.org/​|Creative Commons]] (usata prevalentemente per prodotti diversi dal codice sorgente; evitare se possibile la clausola "​non-commercial"​). 
 + 
  
tesi/codice.1566917095.txt.gz · Last modified: 2019/08/27 16:44 by moreno