Perché non molti strumenti di revisione del codice sembrano essere consapevoli della sintassi o fornire un'analisi più approfondita delle modifiche?

6

Perché non molti strumenti di revisione del codice sembrano essere consapevoli della sintassi o fornire un'analisi più approfondita delle modifiche? È semplicemente troppo difficile da fare?

Trovo che questo sia un grosso buco nella maggior parte dei toolkit del programmatore. Da quello che ho visto, che certamente non è molto, gli strumenti di revisione del codice confrontano il codice riga per riga con molti di loro che non sono nemmeno in grado di fare l'evidenziazione della sintassi.

Esiste una soluzione là fuori che sia abbastanza intelligente da offrire una revisione / comparazione del codice a livello di file a livello di metodo? Uno dei problemi più semplici che ho è che i metodi vengono riordinati in codice e il mio software di revisione del codice si rompe completamente, ma dovrebbero essere in grado di fare molto di più.

Sono interessato ad altre opinioni / conoscenze sull'argomento degli strumenti di revisione / confronto del codice.

    
posta Matt 16.09.2011 - 21:14
fonte

2 risposte

5

Gli strumenti di revisione del codice sono strumenti progettati per essere utilizzati con qualsiasi linguaggio di programmazione.

Ciò significa che per aggiungere confronti a livello di file e / o metodo, dovranno comprendere il contesto della lingua.

Questo a sua volta significa sia conoscere tutte le lingue possibili e avere un parser per loro.

Tutto ciò è molto difficile e soggetto a errori. Quindi, per un'impresa commerciale la domanda sarebbe: quale lingua supportare prima. Quanto bene? Per un'opzione gratuita, il fatto è che una cosa del genere richiederà molto tempo, anche per una sola lingua.

Avere un'opzione line-by-line copre già gran parte delle esigenze, quindi le persone non ci provano di più.

    
risposta data 16.09.2011 - 21:18
fonte
1

Una soluzione ( che noi potrebbe essere in grado di testare abbastanza presto integrato in VS ) è una profonda integrazione all'interno dell'IDE. l'IDE è già in grado di fare tutte le cose che stai considerando come mancanti o non funzionanti in realtà:

  • Consapevolezza della sintassi
  • Gerarchia dei progetti per le operazioni sui file
  • Mappa della struttura dei dati per la corrispondenza del codice spostato

Il rovescio della medaglia è che tale strumento sarà legato alle lingue supportate dall'IDE, e come tale potrebbe limitare la sua universalità.

Sono già disponibili alcuni plug-in per IDE diversi. Non li ho testati, ma fornisco il link per esempi di soluzioni esistenti:

Jupiter - Eclipse ( SO domanda correlata )

TeamReview - TFS / VS

    
risposta data 16.09.2011 - 21:48
fonte

Leggi altre domande sui tag