Stub (informatica)
Stub o anche metodo stub, è una porzione di codice utilizzata per simulare il comportamento di funzionalità software (come una routine su un sistema remoto) o l'interfaccia COM e può fungere anche da temporaneo sostituto di codice ancora da sviluppare. Sono pertanto utili durante il porting di software, l'elaborazione distribuita e in generale durante lo sviluppo di software e il software testing.
Caratteristiche
[modifica | modifica wikitesto]![](http://upload.wikimedia.org/wikipedia/commons/thumb/8/89/Esempio_di_Stub_-_Skeleton_in_un_ambiente_di_invocazione_remota_di_Metodi_%28RMI%29.png/480px-Esempio_di_Stub_-_Skeleton_in_un_ambiente_di_invocazione_remota_di_Metodi_%28RMI%29.png)
Uno stub[1] è una funzione che in realtà si limita a dichiararsi accettando dei parametri e restituisce dei valori accettabili da parte del codice chiamante in un ipotetico scenario reale. Gli stub sono impiegati come "segnaposto" durante l'implementazione di interfacce tra programmi la cui descrizione è definita ma la cui implementazione non è ancora stata definita/finalizzata. Uno stub contiene il codice appena sufficiente per permettere di essere compilato e collegato con il resto del programma. Nella letteratura riguardante la RMI (invocazione di metodi remota), uno stub comunica sul lato server con uno "scheletro".[2]
Esempio
[modifica | modifica wikitesto]Un esempio di stub in pseudocodice può essere il seguente:
BEGIN Temperatura = LeggiTermometro(Fuori) IF Temperatura > 40 THEN PRINT "Fa caldo!" END IF END
BEGIN LeggiTermometro(Fonte dentroFuori) RETURN 28 END LeggiTermometro
Lo pseudo-codice riportato sopra utilizza la funzione LeggiTermometro, che dovrebbe rilevare la temperatura da un dispositivo hardware esterno ma, non essendo ancora disponibile questa funzionalità (o perché si è in fase di sviluppo), non contiene il codice necessario e tuttavia restituisce un valore accettabile. In sostanza "simula" il comportamento della funzione definitiva consentendo al programma principale di essere almeno in parte testato. Si noti inoltre che, anche se accetta un parametro di tipo Fonte, che dovrebbe determinare se la temperatura da rilevare è interna o esterna al dispositivo, in realtà lo stub, in questo caso, non viene condizionato da tale parametro.
Note
[modifica | modifica wikitesto]- ^ stub, su webopedia.com, WEBOPEDIA. URL consultato il 28 agosto 2012.
- ^ (EN) Eric Freeman, Elisabeth Freeman, Sierra Kathy e Bates Bert, Head First Design Patterns (paperback), a cura di Mike Loukides, vol. 1, O'REILLY, 2004, p. 440, ISBN 978-0-596-00712-6. URL consultato il 28 agosto 2012.
Voci correlate
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Denis Howe, Stub, in Free On-line Dictionary of Computing. Disponibile con licenza GFDL
- A Stub Generation System For C++ (PDF)
- Stub/mock frameworks for Java, su sizovpoint.com. URL consultato il 4 marzo 2013 (archiviato dall'url originale l'11 luglio 2009).