Siamo sinceri, programmare alle volte può essere davvero complesso. Sopratutto quando si lavora in piccoli gruppi o peggio ancora in solitaria a progetti di medie o grandi dimensioni. Bug che spuntano a destra e a manca, centinaia di script che si inviano informazioni e funzioni l’un l’altro. Insomma un bel casino. Non proprio una bella aspettativa per coloro che si sono appena affacciati all’arte del coding. Fortunatamente l’esperienza insegna più di chiunque altro in questo campo. Permettetemi di condividere con voi qualche consiglio che potrebbe salvare la vostra sanità mentale e il vostro tempo.
1.Crea un Flow-chart del tuo programma
Per quanto molti evitino di “disegnare” il proprio programma, questa è una delle fasi più importanti della preparazione alla programmazione stessa. Programmare con uno schema logico raffazzonato porta spesso e volentieri a dover fare grosse modifiche al codice. I diagrammi di flusso infatti, non solo ci aiutano a tenere a mente il nostro piano di lavoro. Bensì ci impongono di scrivere le nostre funzioni in base alle implementazioni che già abbiamo deciso di inserire. Permettendoci così di scrivere sempre con un criterio preciso il nostro codice.
Softwares per disegnare i vostri diagrammi:
[Immagine CC0 creative commons](https://pixabay.com/it/lavagna-bianca-uomo-presentazione-849812/)
2.Dividi il problema
Un approccio che personalmente mi ha salvato la vita svariate volte. Lavorando ad algoritmi complessi infatti, ci si trova spesso a dover risolvere grossi problemi logici. Il segreto in questo caso è dividere il tutto in piccoli problemi, molto più gestibili.
Per rendervi tutto più chiaro vi faccio un esempio pratico:
Fingiamo di dover mettere in comunicazione due macchine, in due differenti network, che si scambiano vari files tramite un software scritto da noi. Non sembra affatto facile vero?
Riduciamo il problema: Fingiamo di dover mettere in comunicazione due macchine nello stesso network che si scambiano informazioni. Ancora troppo difficile?
Riduciamo il tutto un ultima volta, nello scrivere due programmi che si scambiano una semplice variabile sulla stessa macchina.
Risolvendo questo problema, già molto più semplice dei precedenti, abbiamo già creato le basi per quella che sarà la soluzione definitiva del nostro software.
[Immagine CC0 creative commons](https://pixabay.com/it/mano-rubik-cubo-puzzle-gioco-2208491/)
3.Usa il più possibile commenti e pseudo-codice
Commentare il codice il più possibile è sempre buona norma, a prescindere se si lavori in gruppo o meno. Questo ci aiuta a tenere a mente il lavoro svolto dal codice, senza andare a rileggere il tutto e ci aiuterà quando, per qualunque motivo, dovessimo tornare su una specifica regione del codice, per fare del debug o per modificarla.
Lo pseudo-codice è uno strumento altrettanto essenziale. Sostanzialmente non è null’altro che un semplice appunto del codice che andremo a scrivere.
INIZIO
Per ogni valore nell'array(values)
controlla se il valore sia uguale a 10
se è uguale stampalo
altrimenti
stampa 'Questo valore non è 10'
FINE
Sicuramente questo format è molto più leggibile di:
var values = [8,9,10,11,12];
for (i = 0; i < values.length; i++) {
var current_value = values[i];
if(current_value == 10){
document.getElementById("par").innerHTML += current_value;
}else{
document.getElementById("par").innerHTML += 'questo valore non è 10';
}
}
4.Mai ripetersi
Ripetersi nella programmazione è la cosa più sbagliata che si possa fare. È di vitale importanza scrivere un codice il quanto più pulito possibile.
Dobbiamo infatti tener sempre a mente che per quanto bravi possiamo essere, siamo pur sempre fallibili. Copiare di pacco una funzione infatti, non solo allunga inutilmente il codice. Ma nel caso dovessimo fare una modifica a quella stessa funzione (per risolvere un bug che ci era sfuggito, o perché abbiamo implementato qualcosa di nuovo) dovremmo ripetere il procedimento per ogni copia di quella funzione.
Questo vuol dire allungare esponenzialmente il tempo che ci impiegheremo nella modifica e più possibilità di causare nuovi errori.
Di conseguenza l’unico consiglio che posso darvi, è quello di scrivere le vostre funzioni con criterio e riutilizzare il codice il più possibile. Risparmierete tempo prezioso e vi aiuterà in una situazione di debug.
5. Crea un manualetto di referenze.
Se avete lavorato a grossi progetti come me, saprete benissimo quanto sia difficile ricordare la posizione di ogni funzione, il suo relativo output e le variabili richieste. Per questo vi consiglio di scrivere un vostro piccolo manualetto, da tenere sempre aggiornato.
Sicuramente sarà più pratico cercare all’interno di un database (o qualsivoglia strumento vogliate utilizzare) il nome della funzione. Piuttosto che andare a spulciare migliaia di righe di codice alla ricerca della funzione interessata.
Conclusione:
Spero che questi consigli vi siano utili. Per qualunque domanda o chiarimento sentite liberi di chiedere con un commento. Buona programmazione a tutti :)
ciao e benvenuto su steemit, molto interessante il tuo post, ho visto che è da poco che sei qui, valuta un presentazione!
@phage93 Grazie mille per l'apprezzamento, farò una presentazione il più presto possibile!
Molto interessante. E' un argomento che mi incuriosisce, ma è un mondo che ho toccato solo di striscio.
E Benvenuto! ottimo post
benvenuto e complimenti per il tuo bel post
Congratulations @norselandstudio! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :
You got your First payout
Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word
STOP
Congratulations @norselandstudio! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!