2010-01-27 23 views
8

Sto lavorando a un progetto in C# .net e WPF. Stiamo usando StyleCop per aiutare a portare uno stile coerente al progetto e, dopo aver disabilitato alcune regole, ne siamo abbastanza soddisfatti. Tuttavia, ho sentito persone parlare di FxCop e che ciò avrebbe portato anche valore al progetto. Da quello che ho capito, questo è più su una base di struttura del codice ..?Devo usare FxCop e perché?

qualcuno potrebbe darmi tutte le ragioni specifiche per cui dovremmo iniziare a utilizzare FxCop? Quali sono le cose più importanti che FxCop garantirà di fare correttamente?

+0

un'occhiata anche a http://stackoverflow.com/questions/1867867 – andreas

risposta

3

rileva alcune condizioni utili e possono migliorare il tuo stile di codifica. Per stile, non intendo solo il posizionamento delle parentesi e così via. Ma temi come classi astratte che hanno costruttori pubblici e molti altri casi di specalismo. Sono piccole cose come questa che raccolgono, e dopo un po 'le fai automaticamente.

Iniziare un nuovo progetto con esso è facile, di utilizzarlo con un progetto esistente è più difficile in quanto in grado di rilevare più problemi. Vale la pena notare che sarà necessario configurare FxCop in un primo momento, in quanto indicherà cose banali che potrebbero non essere motivo di preoccupazione.

+0

sono tutte le regole attive in un primo momento, e poi si può disattivare quelli che non vuoi? Come StyleCop ..? – stiank81

+1

Sì. Puoi disabilitarli nel codice o nell'app stessa. – Finglas

1

FxCop funziona su binari compilati, mentre StyleCop analyzes the source code directly.

Forse potresti usarlo per controllare se un assembly compilato, come quello che invii al tuo QA/ambiente di produzione, corrisponde ai tuoi criteri aziendali, se qualcuno cerca di bypassare le tue regole StyleCop.

+0

Stai dicendo che usa molte delle stesse regole di StyleCop, ma lo controlla invece su binari compilati? – stiank81

+0

Intendo; Anche se FxCop ha verificato anche alcune regole completamente diverse. – stiank81

+1

Sì, perché sono disponibili diverse informazioni; mentre alcune regole sono comuni a entrambi gli strumenti, è possibile ottenere alcune informazioni dal codice sorgente e altre informazioni possono essere ottenute solo da assmblies. –

1

lo uso, in combinazione con CC.NET. Ciò significa, ogni volta CC.Net costruire il mio progetto, esegue anche un'analisi FxCop, che può essere molto utile, in quanto:

  • rileva variabili inutilizzate
  • rileva metodi non utilizzati
  • si dà un Indica se hai una parola errata
  • ti aiuta a ricordare che devi passare un formatprovider a una chiamata a ToString()

In breve: ti aiuta a migliorare la qualità del tuo codice.