Lessico IT › Programmazione › Monkey patching

Monkey patching

Programmazione Svenska → Aggiornato: 2026-10-02

Modificare classi o moduli a runtime: aggiungere metodi ai tipi predefiniti, sostituire funzioni nelle librerie, cambiare il comportamento senza toccare il sorgente.

Diffuso in Ruby (le classi sono aperte per default), Python e JavaScript. Esempio classico in Ruby: class Integer; def lucky?; self == 7; end; end. È una tecnica standard nei test (simulare requests.get, bloccare datetime.now) e per correggere bug in librerie di terzi che non si possono aggiornare.

Il rischio: gli altri sviluppatori non vedono la modifica e si chiedono perché un metodo restituisca all'improvviso un valore diverso. Buona pratica: documentare con chiarezza, limitare l'uso a test e inizializzazione, evitarlo nel codice di produzione.

← Torna al lessico