Alterazione del codice durante il runtime

2

Poiché Javascript è un linguaggio interpretato, è possibile modificare intere funzioni durante il runtime. Recentemente ho preso in considerazione un framework che consentisse l'attivazione delle modifiche al codice dinamico (come i plug-in UI) senza dover ricaricare la pagina, fornendo comunque informazioni sufficienti per annullare la modifica, se lo si desidera.

Ho iniziato a testare questo concetto con piccoli esempi di successo, ma non ho avuto la possibilità di testare l'idea per qualcosa di utile.

C'è qualche effetto collaterale avverso al cambiamento del codice durante il runtime o è considerato una cattiva pratica?

    
posta StMotorSpark 04.06.2013 - 21:54
fonte

2 risposte

7

Il codice auto-modificante è stato quasi universalmente visto come un'invenzione del diavolo fin dall'inizio del tempo di calcolo.

Il problema fondamentale è questo: quando il codice può modificarsi in fase di runtime, non hai più idea di quale codice sia effettivamente in esecuzione. È il codice nella lista, o è qualcosa che è stato trasmesso da un hacker extraterrestre sulla luna più piccola di Rigel 7?

I plugin sono utili, ma vuoi essere molto attento a ciò che fai e a cosa permetti ai plugin di fare.

    
risposta data 04.06.2013 - 22:12
fonte
3

Ciò a cui probabilmente ti riferisci sono più funzioni lingua dinamica . In quanto tale, è così che troverai maggiori informazioni su vantaggi e svantaggi.

In generale, questo è stato ben esplorato . Il principale effetto collaterale negativo che si avrà probabilmente quando si modifica il codice in fase di esecuzione è che esplode la complessità del debugging con un fattore non banale, perché per risolvere i problemi, in genere è necessario capire da dove provengono. Questo può essere ovunque da relativamente "facile" (jQuery è un esempio decente) per davvero molto difficile.

    
risposta data 04.06.2013 - 22:13
fonte

Leggi altre domande sui tag