Monkey patching
Modyfikowanie klas lub modułów w czasie działania programu — dodawanie metod do typów wbudowanych, podmiana funkcji w bibliotekach, zmiana zachowania bez dotykania kodu źródłowego.
Częste w Ruby (klasy są tam domyślnie otwarte), Pythonie i JavaScripcie. Klasyk z Ruby: class Integer; def lucky?; self == 7; end; end. Standardowa technika w testach (mockowanie requests.get, zamrażanie datetime.now) oraz przy łataniu błędów w cudzych bibliotekach, których nie da się zaktualizować.
Ryzyko: inni programiści nie widzą modyfikacji → „czemu ta metoda nagle zwraca co innego?”. Dobra praktyka: wyraźnie to opisać, ograniczyć do testów lub inicjalizacji, unikać w kodzie produkcyjnym.