Si potrebbe cercare di accelerare la scansione o impedire l'introduzione di nuovi problemi nel codice che ha già un numero enorme di problemi. (http://xyproblem.info/)
Se si sta cercando di accelerare la scansione, allora temo che sia un no-go. Come ha detto Max Horvath, non ha senso. È necessario l'intero file per fornire un contesto sufficiente per valutare una nuova riga (un semplice esempio: aggiungo una nuova riga che fa riferimento a una variabile definita in una riga che non ho modificato. Non è possibile stabilire se si tratta di un riferimento valido senza scansione del file per trovare riferimenti ad esso).
Se si sta tentando di identificare nuovi problemi, l'unico modo corretto per farlo è eseguire 2 scansioni e confrontare i risultati con e senza le nuove modifiche.
Questo non sarà necessariamente raddoppiare il tempo di elaborazione se è possibile eseguire entrambe le scansioni a risultati paralleli o della cache, ma non sta andando essere più veloce, che è un peccato perché il caso d'uso ovvia per tecnologia come questo è per molto grande File.
Capire se due messaggi di errore sono uguali è un po 'più complicato di quello che appare per la prima volta, poiché i numeri di riga cambieranno. Dovresti diffare i due file originali e capire tutti gli offset di linea per ottenere un risultato corretto.
Probabilmente sarebbe sufficiente sfocare i numeri di riga prima di diffare i risultati e lasciare che lo sviluppatore capisca. Se dovessi dire "Questo cambiamento ha introdotto uno di questi 4 errori, ma non so quale" lo sviluppatore lo capirà facilmente.
fonte
2016-06-07 00:47:34
Forse dovresti delineare un po 'quale sia il problema con quello che hai provato finora. +1 Per costruire questo e chiedendo comunque;) – hakre
phpcs prende il file, lo analizza in AST ed esegue analisi su di esso. Quindi, nella fase di verifica, non è disponibile un numero di righe originale. Non dubito che sia possibile – zerkms
Come @zerkms ha detto, deve essere analizzato l'intero file, ma potrebbe essere possibile verificare se una qualsiasi delle linee modificate è nell'insieme di righe contenenti errori cs. –