Sto cercando uno strumento come LibCheck per valutare diverse versioni dello stesso SDK [Chiusi]

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

Domanda

Sto lavorando su uno SDK. Come ho rilascio di nuove versioni e mi piacerebbe produrre un rapporto delle differenze nell'API. Questo non è le differenze nel codice. La maggior parte del codice non dovrebbe essere utilizzato direttamente. Le classi / metodi pubblici è quello che mi interessa. Inoltre, abbiamo adottato la convenzione che nulla in uno spazio dei nomi che include implementazione non deve essere utilizzato da un cliente della SDK. Così sto cercando le differenze nelle interfacce pubbliche, classi e metodi che non sono in uno spazio dei nomi che include implementazione. Voglio sapere che cosa è stato rimosso, ha aggiunto e modificato tra due versioni.

Ho trovato uno strumento di Microsoft chiamato LibCheck che è nel campo da baseball a destra. Ho un paio di problemi con LibCheck. LibCheck non riconosce un metodo che è stato modificato. Riporta il metodo come essendo stato rimosso e ha aggiunto. Si segnala qualche volta un metodo come se fossero state rimosse e ha aggiunto, ma il nome ei parametri sono tutti uguali. Non so che cosa sta cercando di dirmi in questi casi. Infine non mi interessa per il layout dei report. Vorrei una pausa dalla namespace nonché da assemblaggio e la classe.

Sono consapevole del fatto che le relazioni sono il risultato di una trasformazione XSLT e ho potuto farle sembrare essenzialmente comunque voglio. Ancora altre questioni accoppiato con una generale mancanza di supporto per lo strumento di Microsoft mi lasciano alla ricerca di un'alternativa.

È stato utile?

Soluzione

C'è anche http://apichange.codeplex.com che ha un'opzione diffing. Chiamatela come questo

ApiChange -diff -old $net2dir\System.dll -new $net4dir\System.dll

e si dovrebbe ottenere un rapporto.

Altri suggerimenti

Uno strumento come NDepend è molto adatto a questo lavoro, e ha costruito nelle caratteristiche per la segnalazione diff a livello "API" e non solo testuali ad esempio:

Confronta costruisce e Codice Diff

NDepend ha un proprio linguaggio di query di codice CQL che può essere usato per scrivere relazioni di analisi statica altamente personalizzati:

Codice Query Language

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