Routine (subroutine)
Cos'è una routine in informatica
In programmazione una routine o subroutine è un insieme di istruzioni (blocco di codice) invocabile più volte da qualsiasi punto del programma. Può ricevere dei parametri in input e fornire eventualmente in output un valore di ritorno.
Una routine può essere richiamata dal programma principale o da un'altra routine.
La chiamata della routine è anche detta invocazione o attivazione.
L'invocazione interrompe l'esecuzione del programma chiamante fino al termine dell'esecuzione della routine.
Una volta conclusa, l'elaborazione del programma riprende dalla riga successiva.
A cosa serve la routine
Essendo richiamabile più volte, mi evita di dover scrivere lo stesso codice sorgente in più punti del programma.
In questo modo il programma diventa modulare ed è più semplice la modifica e la manutenzione del software.
La signature della routine
Ogni routine di un programma ha una signature (firma) univoca composta da
- Nome Id
E' il nome identificativo della routine. - Argomenti in input
E' il numero e il tipo di dato dei parametri che la routine riceve in input al momento della chiamata. Il passaggio dei parametri può avvenire per valore (posizione) o per nome.
L'eventuale tipo del valore di ritorno non è incluso nella signature della routine.
Il caso dell'overloading. In alcuni casi due routine possono avere lo stesso nome identificativo (id) ma un diverso numero o tipo di parametri in input. In base ai parametri il programma riesce a capire quale routine richiamare. Questa situazione è detta overloading (sovraccarico). Non è ammessa da tutti i linguaggi di programmazione. Ad esempio, l'overloading è consentito in Java e in Python.
Tipi di routine
Esistono due tipi di routine
- Le procedure
Una procedura è una sequenza di istruzioni che non restituisce valori in output. Ad esempio, la procedura per stampare a video un messaggio. - Le funzioni
La funzione è un blocco di codice che restituisce un valore di ritorno in output.
E così via.