Introduzione ai Metodi in C#
Procedure e Funzioni
Per risolvere un determinato compito, specialmente se complesso, applichiamo il metodo che usavano gli antichi Romani: divide et impera, ossia dividi e conquista.
Secondo questo principio, qualsiasi problema che dobbiamo risolvere può essere suddiviso in sotto-problemi più semplici. Presi separatamente, sono ben definiti e facili da risolvere rispetto al problema originale. Alla fine, trovando soluzioni per tutti i sotto-problemi, risolviamo il macro-problema più complesso.
Usando la stessa analogia, ogni volta che scriviamo un programma software miriamo a risolvere un compito particolare. Per farlo in modo efficiente e semplice, usiamo lo stesso principio menzionato sopra: dividi e conquista. Separiamo il compito dato in compiti più piccoli, sviluppiamo soluzioni per essi e li mettiamo insieme in un unico programma. Questi compiti più piccoli li chiamiamo sottoprogrammi.
In alcuni altri linguaggi di programmazione, i sottoprogrammi vengono spesso chiamati funzioni o procedure. Nella terminologia del C# essi prendono il nome di Metodi.
Cos'è un Metodo?
Un metodo è una parte fondamentale di un programma. Può risolvere un certo problema, può prendere parametri in ingresso e può restituire un risultato.
Un metodo rappresenta tutte le conversioni di dati che un programma fa per risolvere un compito particolare. I metodi consistono nella logica del programma. Inoltre, sono il luogo in cui viene svolto il lavoro vero e proprio. Ecco perché i metodi possono essere considerati come l'unità di base per l'intero programma. Questo, d'altra parte, ci dà l'opportunità, usando un semplice blocco, di costruire programmi più grandi, che risolvono problemi più complessi e sofisticati. Di seguito è riportato un semplice esempio di un metodo che calcola l'area di un rettangolo:
static double AreaRettangolo(double base, double altezza)
{
double area = base * altezza;
return area;
}
Perché usare i Metodi?
Ci sono molte ragioni per cui dovremmo usare i metodi. Alcune di esse sono elencate di seguito e, acquisendo esperienza, ci può facilmente rendere conto che i metodi sono qualcosa di imprescindibile per un compito serio.
-
Codice Più leggibile e Programmi meglio strutturati:
Ogni volta che viene creato un programma, è sempre una buona pratica usare i metodi, in modo da rendere il codice meglio strutturato e facile da leggere, quindi da manutenere da altre persone.
Una buona ragione per questo è il fatto che, durante il ciclo di vita di un programma, solo circa il 20% dello sforzo è speso per creare e testare il programma. Il resto è per la manutenzione e l'aggiunta di nuove funzionalità alla versione iniziale. Nella maggior parte dei casi, una volta rilasciato il codice, viene manutenuto non solo dal suo creatore, ma da molti altri sviluppatori. Ecco perché è molto importante che il codice sia il più ben strutturato e leggibile possibile.
-
Evita la Duplicazione del Codice:
Un'altra ragione molto importante per usare i metodi è che i metodi ci aiutano a evitare la ripetizione del codice. Questo ha una forte relazione con l'idea del riutilizzo del codice.
-
Riutilizzo del codice:
Se un pezzo di codice viene utilizzato più di una volta in un programma, è bene separarlo in un metodo, che può essere chiamato molte volte – consentendo così il riutilizzo dello stesso codice, senza riscriverlo. In questo modo evitiamo la ripetizione del codice, ma questo non è l'unico vantaggio. Il programma stesso diventa più leggibile e ben strutturato.
Ripetere il codice può diventare molto dannoso e pericoloso, perché ostacola la manutenzione del programma e porta a errori. Spesso, quando è necessario modificare il codice ripetuto, lo sviluppatore corregge solo alcuni dei blocchi, ma il problema persiste negli altri, di cui si è dimenticato. Quindi, ad esempio, se viene trovato un difetto in un pezzo di codice di 50 righe, che è copiato in 10 posti diversi nel programma, per correggere il difetto, il codice ripetuto deve essere corretto in tutti i 10 posti. Tuttavia, questo non è ciò che accade realmente. Spesso, a causa della mancanza di concentrazione o di altre ragioni, lo sviluppatore corregge solo alcuni dei pezzi di codice, ma non tutti. Ad esempio, supponiamo che nel nostro caso lo sviluppatore abbia corretto 8 dei 10 blocchi di codice. Questo, alla fine, porterà a un comportamento inaspettato del nostro programma e, inoltre, sarà un compito molto difficile capire cosa sta andando storto nel programma.
In Sintesi
Questa lezione serve da introduzione al concetto fondamentale di Metodi in C#.
Abbiamo visto che i metodi sono la base di un programma e che ci aiutano a risolvere problemi complessi dividendo il compito in compiti più piccoli.
Abbiamo anche visto che i metodi sono molto utili per rendere il codice più leggibile, ben strutturato e per evitare la duplicazione del codice.
Inoltre, abbiamo visto che i metodi ci aiutano a riutilizzare il codice, rendendo il programma più manutenibile e facile da gestire.
Nella prossima lezione entreremo nel vivo del concetto di Metodi in C# vedendo, dapprima, come dichiarare un metodo.