tesi:codice
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
tesi:codice [2019/08/27 16:44] – created moreno | tesi:codice [2024/02/28 12:23] (current) – moreno | ||
---|---|---|---|
Line 2: | Line 2: | ||
È molto probabile che gli argomenti di tesi che propongo richiedano di scrivere del codice. Per questo motivo elenco alcuni suggerimenti per la scrittura di codice, che sebbene siano orientati principalmente al codice in linguaggio C, si possono applicare anche ad altri linguaggi. | È molto probabile che gli argomenti di tesi che propongo richiedano di scrivere del codice. Per questo motivo elenco alcuni suggerimenti per la scrittura di codice, che sebbene siano orientati principalmente al codice in linguaggio C, si possono applicare anche ad altri linguaggi. | ||
+ | |||
+ | :!: Una trattazione approfondita delle buone pratiche di programmazione è disponibile nella dispensa seguente: | ||
+ | |||
+ | * M. Marzolla, [[https:// | ||
+ | |||
+ | **Si invita a leggere il documento con la massima attenzione**; | ||
=== Rispettare lo standard del linguaggio === | === Rispettare lo standard del linguaggio === | ||
Line 7: | Line 13: | ||
I programmi devono compilare correttamente senza warning (e ovviamente senza errori). Nel caso di programmi in C/C++ compilati con '' | I programmi devono compilare correttamente senza warning (e ovviamente senza errori). Nel caso di programmi in C/C++ compilati con '' | ||
- | '' | + | '' |
Se invece si programma in ANSI C, suggerisco di usare: | Se invece si programma in ANSI C, suggerisco di usare: | ||
- | '' | + | '' |
(esistono parametri analoghi per le varie versioni del C++). | (esistono parametri analoghi per le varie versioni del C++). | ||
Line 19: | Line 25: | ||
L'uso di nomi inappropriati rende il codice difficile da comprendere e da valutare). Per rendersi conto di ciò, chi direbbe che questa funzione: | L'uso di nomi inappropriati rende il codice difficile da comprendere e da valutare). Per rendersi conto di ciò, chi direbbe che questa funzione: | ||
- | < | + | < |
int cancella( double trovato, double tentativo[], | int cancella( double trovato, double tentativo[], | ||
{ | { | ||
Line 57: | Line 63: | ||
== Esempio di commenti inutili DA EVITARE == | == Esempio di commenti inutili DA EVITARE == | ||
- | < | + | < |
- | v = v + 1; // incrementa v | + | v = v + 1; /* incrementa v */ |
- | if ( v>10 ) { // se v e' maggiore di 10 | + | if ( v>10 ) { /* se v e' maggiore di 10 */ |
- | v = 0; // setta v a zero | + | v = 0; /* setta v a zero */ |
} | } | ||
- | G.Kruskal(v); // esegui l' | + | Kruskal(G,v); /* esegui l' |
</ | </ | ||
== Esempio di commenti appropriati == | == Esempio di commenti appropriati == | ||
- | < | + | < |
- | // Individua la posizione i del primo valore | + | /* Individua la posizione i del primo valore |
- | // negativo nell' | + | * negativo nell' |
- | // i == a.length | + | |
- | // valore negativo. | + | * valore negativo. |
+ | */ | ||
int i = 0; | int i = 0; | ||
- | while ( i < a.length | + | while ( i < n && a[i] >= 0 ) { |
i++; | i++; | ||
} | } | ||
Line 88: | Line 95: | ||
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' | + | L' |
+ | |||
+ | * Il codice | ||
+ | * Il codice risulta più leggibile rispetto al caso in cui si usino linee lunghe, | ||
+ | * È 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 | ||
+ | |||
+ | === Se possibile, rendere disponibile il codice con una licenza libera === | ||
+ | |||
+ | Sebbene non indispensabile, | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | In [[https:// | ||
+ | |||
+ | Se si intende usare una licenza libera, occorre inserire il sunto della licenza in un commento all' | ||
tesi/codice.1566917095.txt.gz · Last modified: 2019/08/27 16:44 by moreno