Ho iniziato con una sceneggiatura di poche centinaia di righe. Più tardi, mi sono reso conto che volevo un altro script che avrebbe richiesto gran parte dello stesso codice. Ho deciso di avvolgere alcune aree dello script originale che sarebbero state condivise, in definizioni. Quando stavo decidendo esattamente cosa dovrebbe essere in una funzione, mi sono imbattuto in varie cose da considerare:
-
Cosa devo impostare come parametri di input? Se fosse necessario qualcosa nella funzione, probabilmente dovrei richiederlo come parametro, giusto? O dovrei dichiararlo all'interno della funzione stessa?
-
Se la funzione x richiede sempre l'output della funzione y, ma la funzione y talvolta è necessaria da sola, la funzione X dovrebbe includere il codice della funzione y o semplicemente chiamare la funzione y?
-
Immagina un caso in cui ho 5 funzioni che chiamano tutte una funzione 'sub' (il sub è essenziale per queste 5 funzioni per completare il loro lavoro). Se "sub" dovrebbe sempre restituire lo stesso risultato, allora le chiamate multiple da queste funzioni genitore non duplicheranno lo stesso lavoro? Se sposto la chiamata a "sub" al di fuori delle 5 funzioni, come posso essere sicuro che "sub" sia chiamato prima della prima chiamata a una delle 5 funzioni?
-
Se ho un segmento di codice che produce sempre lo stesso risultato e non è richiesto più di una volta nella stessa applicazione, normalmente non lo metterei in una funzione. Tuttavia, se non è una funzione, ma è successivamente richiesta in un'altra applicazione, dovrebbe diventare una funzione?
Scusa se queste domande sono troppo vaghe, ma ritengo che dovrebbero esserci alcune linee guida generali. Non ho programmato per molto tempo e sono rimbalzato tra OOP e funzionale, ma non mi sono mai ricordato di aver letto nulla che spiegasse ciò. Potrebbe semplicemente essere una questione di preferenze personali?