Esiste un termine puramente tecnico per "patch per scimmia" [chiuso]

-1

EDIT Il titolo originale della domanda era Esiste un termine non derogatorio per "monkey patching" . Come ho imparato che il termine non è in realtà dispregiativo, o almeno non lo è, ho cambiato il nome per liberarlo da implicazioni errate.

Vorrei descrivere un software e cercare di non usare un linguaggio emotivamente parziale. Tuttavia non sono a conoscenza di un'alternativa obiettiva a " patch per scimmie ".

Il termine vuole essere dispregiativo per una ragione. Molti la vedono come una tecnica utile ma problematica.

Sono consapevole di un'alternativa, ma è altrettanto dispregiativo: "duck punching".

Vedo "classi aperte" non come un nome alternativo, ma come prerequisito per l'applicazione delle scimmie.

'Overriding' non sembra giusto. Mi piacerebbe distinguere tra patch della scimmia e l'override regolare come parte del polimorfismo basato sull'eredità.

    
posta kostja 15.04.2014 - 11:14
fonte

1 risposta

7

Come qualcuno che stava effettivamente lavorando in Zope Corporation (che allora chiamava ancora Digital Creations) quando il termine è nato, posso affermare con enfasi che è molto non dispregiativo.

Il termine è un riferimento ironico a patch di runtime (o patch dinamiche , se vuoi).

Abbiamo parlato di intrufolarsi e modificare il codice Python in fase di runtime; il termine Guerrilla Patching è stato usato perché a volte le patch dinamiche potevano interferire e creare conflitti. Conflitto - > Guerriglia, poiché il conflitto era dinamico e dipendeva dal terreno.

Poi qualcuno che aveva mal compreso il termine e pensava che fosse la patch Gorrilla , aveva trovato un modo per avvolgere un metodo e riutilizzarlo nella loro patch dinamica. Ciò significava che anche se il metodo avesse già già patchato, non avresti annullato quel lavoro. Poiché questa era una forma più delicata e attenta di patching, usava invece il nome Monkey Patch . Il nome si è bloccato mentre si diffondeva nella più ampia comunità Python.

Se ritieni di non poter usare termini del genere perché hanno troppe altre connotazioni per te, allora così sia.

La versione tecnica, incolore e senza umori che stai cercando è patch di runtime dinamico .

    
risposta data 15.04.2014 - 12:01
fonte

Leggi altre domande sui tag