Strumento di analisi dei cambi di codice Java - E.G Dimmi se una firma del metodo è cambiata, l'implementazione del metodo

StackOverflow https://stackoverflow.com//questions/11666701

Domanda

C'è uno strumento diff specifico per Java che non solo evidenziare le differenze in un file, ma è più complesso?

Per più complesso intendo dire che scatta 2 file di input, lo stesso file di classe di diverse versioni e dimmi cose come:

    .
  • nomi di campo modificati
  • Nuovi metodi aggiunti
  • Metodi cancellati
  • Metodi le cui firme sono cambiate
  • Metodi le cui implementazioni sono cambiate (non interessate a più dettagli di questo)

    Fatto un po 'di googling e non riesce a trovare nulla di simile ... Immagino che potrebbe essere utile nel determinare se le modifiche o meno delle dipendenze richiederebbero una ricostruzione di un modulo particolare.

    Grazie in anticipo

    Modifica:

    Suppongo che dovrei chiarire:

    Non mi sono preoccupato di una GUI per lo strumento, sarebbe qualcosa che sono interessato a chiamando programmaticamente .

    E come per il mio ragionamento:

      .
    • Allenarsi se ho bisogno di ricostruire determinati moduli / componenti se le loro dipendenze sono cambiate (che potrebbero salvarci circa 1 ora per componente) ... più dettagliata spiegazione ma non lo vedo davvero importante. Da utilizzare per analizzare le modifiche apportate a determinati componenti che stiamo cercando di bloccare e fare affidamento come più stabile, stiamo tentando di garantire che solo molto raramente dovrebbero modificare le firme del metodo in un particolare componente.
È stato utile?

Soluzione

Hai detto sopra che clirr è ciò che stai cercando.

Ma per gli altri con esigenze leggermente differenti, vorrei raccomandare jdiff .Entrambi hanno pro e contro, ma per le mie esigenze ho finito usando JDIFF.Non penso che soddisferà il tuo ultimo punto di proiettile ed è difficile chiamare a livello di programmazione.Quello che fa è generare un utile rapporto per le differenze API.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top