Go Down

Topic: organizzazione struttura codice (Read 245 times) previous topic - next topic

dadduni

salve a tutti, sono qui a proporvi un quesito privo di funzionalità ma è una curiosità che mi porto dietro da un po =)
la domanda è: qunto conviene "frammentare il codice" in tante piccole funzioni indipendenti? oppure: quanto conviene lasciare il codice nel loop anzichè dividerlo su tante funzioni e nel loop vengono solo richiamate?

vi spiego un attimo la situazione: ho due arduini che comunicano tramite I2C: il primo spedisce due pezzi fondamentali: un booleano e una stringa. dato che ovviamente la stringa non viene letta come tale ma nel buffer entra byte per byte ho usato un un array che immagazzina ogni byte e poi li rimonto dopo in una stringa. il codice funziona tranquillamente ma adesso che lo sto finendo di scrivere e organizzando mi chiedevo se era meglio lasciare tutto nel loop o se dividere in tante funzioni: in questo secondo caso quante?
pensavo di fare nel loop:

-finchè wire available è 0 stai fermo
- funzione 1: quando available è uguale ad 1 esegue una certa cosa col primo byte booleano;
- funzione 2 leggi: prende tutti i byte e li mette nell array;
-funzione 3 rimonta: prende l'array e ne fa una stringa
- funzione 4 print: manda sul display la stringa che ho mandato;
-funzione 5 estrai: estrapola dall erray determinati valori e li registra in variabili che verranno mantenute anche dopo la sostituzione dell'array;
-funzione 6 reset: svuota il buffer per non "sporcare" di eventuali errori il prossimo ciclo.

vi sembrano troppe funzioni? senno come posso organizzare il codice per renderlo chiaro e funzionale? cosi a funzionare funziona ma mi pare troppo "sfatto", voi che ne penste?

leo72

Strutturare il codice in blocchi più piccoli, relegando ogni funzione all'esecuzione di una singola operazione, permette di rendere più leggibile il codice.

Come in tutte le cose, non esiste la regola fissa, ed è anche una cosa soggettiva.
Diciamo che in linea di massima se il codice è semplice, puoi tenere tutto nel loop, se invece il programma è complesso, suddividerlo in funzioni aiuta anche la leggibilità.

Go Up