Esistono buoni esempi di progetti C # open source con un numero elevato di refactoring? [chiuso]

6

Sto facendo ricerche sull'evoluzione del software e C # /. NET, in particolare sull'identificazione dei refactoring dai changeset, quindi sto cercando un metodo adatto ( XP -like) progetto che può servire come soggetto di test per estrarre i refactories dalla cronologia del controllo della versione.

Quali progetti C # open source sono stati sottoposti a numerosi (numerosi) refactoring?

Criteri Un progetto adatto ha la sua cronologia delle modifiche pubblicamente disponibile, ha codice compilabile alla maggior parte dei commit e almeno diversi refactoring applicati in passato. Non deve essere noto, e la qualità del codice o il numero di bug è irrilevante. Preferibilmente il codice si trova in un repository Git o SVN.

Il risultato di questa ricerca sarà uno strumento che crea automaticamente commenti informativi e concisi per un changeset. Ciò dovrebbe migliorare la pratica comune di sviluppo semplicemente non lasciando alcun commento.

    
posta Arjen Kruithof 15.11.2011 - 16:06
fonte

2 risposte

3

Mono.cecil è stato pesantemente refactored nella versione 0.9 se non sbaglio. Fino a quel punto era in. NET 1.1

Cecil è un progetto open source che puoi usare in alternativa a System.Reflection. Come puoi vedere dal link, la cronologia del progetto è disponibile pubblicamente su github.

Poiché il progetto non ha ancora probabilità di API stabili, vedrai i cambiamenti in futuro.

Buona fortuna con lo strumento!

    
risposta data 15.11.2011 - 16:11
fonte
2

Il motore di blogging in Subtext è un buon esempio - è nato come un'app ASP.NET molto classica con testabilità zero e stretto collegamento dati e cresciuto molto nel corso di diversi anni e più di un po 'di refactoring mentre non rompere legacy access e modelli di dati. È molto più simile a molte linee di app aziendali. Gli sviluppatori .NET lavorano professionalmente rispetto a molti altri esempi.

Confronto con i criteri:

  1. Cronologia delle modifiche disponibile pubblicamente: controlla, vedi codice SVN di google.
  2. Diversi refactoring in passato: sì, sicuramente. Puoi leggere gli sforzi e la logica coinvolti in questi effratti di refactoring sul blog di Phil Haack .
  3. Compilable commit: generalmente sì, non hanno rotto il prodotto e sono saliti sul carro di integrazione continua relativamente presto.
risposta data 15.11.2011 - 16:29
fonte

Leggi altre domande sui tag