User Tools

Site Tools


tesi:codice

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
tesi:codice [2019/08/27 17:00] morenotesi:codice [2019/11/08 13:38] 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 90: Line 90:
 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]]: 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 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 e sinistra; 
-* Il codice risulta più leggibile rispetto al caso in cui si usino linee lunghe, dato che non è necessario spostare lo sguardo continuamente a destra e sinistra; +  * È possibile mantenere più finestre affiancate sui monitor moderni, se lo si desidera.
- +
-* È 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. Si tenga presente che, sebbene i monitor moderni abbiano guadagnato risoluzione e dimensione, i nostri occhi sono rimasti sempre gli stessi.
Line 100: Line 98:
 === Se possibile, rendere disponibile il codice con una licenza libera === === 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:+Sebbene non indispensabile, suggerisco di rendere disponibile il proprio codice secondo una licenza libera. 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://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"). 
 +  * [[https://opensource.org/licenses/MIT|MIT License]]
  
-[[https://directory.fsf.org/wiki/License:BSD-3-Clause|BSD License]] (ne esistono diverse versioni);+In [[https://opensource.org/licenses|questa pagina]] si trovano elencate ulteriori licenze comunemente usate. Personalmente tendo a preferire la licenza GPLv3+ (GPL versione 3 o successive), ma non impongo nessun vincolo a riguardosi può anche decidere di non rendere il codice pubblicamente accessibile.
  
-* [[https://creativecommons.org/|Creative Commons]] (usata prevalentemente per prodotti diversi dal codice sorgente; evitare se possibile la clausola "non-commercial")+Se si intende usare una licenza libera, occorre inserire il sunto della licenza in un commento all'inizio di ogni file sorgente (ciascuna licenza ha il proprio "boilerplate"), e includere il testo completo della licenza in un file di testo (normalmente chiamato "LICENSE") nella directory radice dell'archivio contenente i sorgenti.
  
tesi/codice.txt · Last modified: 2024/02/28 12:23 by moreno

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki