Come cercare l'utilizzo dell'API?

2

Mi piacerebbe scoprire con quale frequenza e se viene utilizzato un determinato pattern in un determinato linguaggio di programmazione.

Nel mio caso - mi piacerebbe scoprire quante / se le persone fanno eval("/"+regexString+"/") in JavaScript e / o compongono espressioni regolari da stringhe usando / .

In genere, eseguo una ricerca GitHub - l'ho fatto quando ha lavorato a una funzione in passato , e era per un'API molto più piccola con una chiamata di funzione chiara e un caso d'uso con ambito più ristretto: fare questo manualmente non sembra pratico qui.

Lo sto facendo per caratterizzare un'API su cui sto lavorando e sto considerando se questo è qualcosa che le persone fanno per fornire un'API migliore e più coerente ..

  • Come posso scoprire quanto sia comune questo schema?

(Apprezzerei le risposte basate su scienza e pratiche conosciute)

    
posta Benjamin Gruenbaum 14.06.2015 - 10:19
fonte

1 risposta

2

Potresti voler cercare Javascript analisi del programma statico strumenti (come questa domanda ), ad es. Flusso . Troverete molti articoli di ricerca su questo argomento.

Ho sentito diversi discorsi su quell'argomento e IIRC eval è usato, a volte con negligenza o inutilmente, in molti pratici software Javascript.

La tua domanda può essere compresa in due modi diversi:

Con quale frequenza compare eval("/"+regexString+"/") che appare staticamente in vari codici sorgente di Javascript?

Quante volte eval("/"+regexString+"/") viene eseguito dinamicamente in una determinata applicazione?

Potresti modificare alcune implementazioni Javascript esistenti per rilevare tali pattern.

Notare che se regexString è una stringa a riga singola che inizia con un carattere / , eval("/"+regexString+"/") sta valutando un commento!

Non dimenticare il problema di interruzione & Teorema di Rice ; quindi, l'analisi statica del programma non può mai essere del tutto soddisfacente.

    
risposta data 14.06.2015 - 10:48
fonte

Leggi altre domande sui tag