Domanda

Ho deciso di avviare StyleCop su un progetto di medie dimensioni e ricevo oltre 1000 avvisi.

Esiste un modo semplice e rapido per correggere la maggior parte di questi avvisi? La maggior parte degli avvisi avrebbe potuto essere facilmente automatizzata per la risoluzione e mi farebbe risparmiare un sacco di tempo.

È stato utile?

Soluzione

Questo non risolve esattamente " risolve automaticamente nulla " ma esiste un StyleCop plug-in per Resharper su Codeplex che evidenzierà automaticamente gli errori di stile nel tuo codice.

Update: Secondo la StyleCop per Sito web ReSharper , ReSharper ora fornisce un numero crescente di Correzioni rapide per errori StyleCop. Seleziona una soluzione rapida dall'elenco e il problema verrà risolto automaticamente.

Altri suggerimenti

No, frustrante . Ecco perché Style Cop è controproducente. La formattazione coerente sembra buona, ma ha pochi vantaggi in termini di produttività (ciò che rende davvero difficile leggere il codice è la lunghezza e indirection ). La spaziatura perfetta non vale la pena spendere ore a regolare le linee a mano.

Ovviamente, se esistesse uno strumento automatizzato per ottenere una formattazione coerente, lo collegherei dopo il check-in e lascerei che mi aiuti. Ma Style Cop è fatto da sadici. Presumibilmente la loro conversazione è andata così:

  

Bob: usando il pattern matching, il software identifica il brutto codice
  Charlie: —e lo risolve!
  Bob: No, stampa un messaggio su ogni trasgressione
  Charlie: —e quindi l'utente fa clic con il pulsante destro del mouse per risolverli tutti?
  Bob: No, li rimprovera "spaziatura non valida attorno alla virgola"
  Charlie: —e poi spiega come risolverlo?
  Bob: No, è in un documento separato
  Charlie: —on Google?
  Bob: No.

Odio lo stile Cop. È inferiore a un prodotto minimo praticabile.

StyleCopFixer risolve automaticamente le eccezioni StyleCop nell'IDE di Visual Studio per Solo C # .

Gli errori correntemente corretti sono:

  1. SA1001
  2. SA1516
  3. SA1513
  4. SA1508
  5. SA1507
  6. SA1505
  7. SA1309
  8. SA1210
  9. SA1202
  10. SA1200
  11. SA1106
  12. SA1101
  13. SA1025
  14. SA1013
  15. SA1012
  16. SA1009
  17. SA1008
  18. SA1633
  19. SA1003
  20. SA1005
  21. SA1600 (solo per proprietà)
  22. SA1121

Esiste un progetto in codeplex che esegue alcune correzioni automatiche basate sull'avvertimento di stylecop. Non è completo tuttavia ...

vedi: http://stylefix.codeplex.com/

Maid del codice esegue alcune correzioni di Stylecop.

Sfortunatamente, in questo momento, non conosco alcun strumento automatico per riparare completamente le cose.

Tuttavia, se si impostano le opzioni di formattazione di Visual Studio (e Resharper, se ce l'hai) per la formattazione del codice in modo che corrispondano alle linee guida dello stile del poliziotto, le pulizie diventano un po 'più facili.

Una volta che lo hai fatto, puoi andare in un file ed eseguire Modifica- > Avanzate- > Formatta documento (o la scorciatoia da tastiera, che varia con le tue impostazioni di scorciatoia: la mia è Ctrl + K, Ctrl + D ). Ciò risolverà alcuni degli avvisi di stile poliziotto, specialmente se hai resharper + il plugin stylecop. Non li risolverà tutti, ma in molti casi ha preso il numero di avvisi in un file da centinaia a decine.

Se hai Resharper puoi scaricare un plug-in StyleCop per Resharper che presenta alcune correzioni automatiche. StyleCop per Resharper su codeplex.

  1. Disattiva gli avvisi! Non consigliato, ma è possibile utilizzarlo a breve termine fino a quando non si risolve gran parte dei problemi.
  2. Scrivi un programma per correggere alcuni degli avvisi più semplici o usa trova / sostituisci
  3. Utilizza gli snippet di codice per informazioni su come la documentazione dell'intestazione del file

È stato menzionato sul StyleCop blog riguardo all'implementazione della correzione automatica per le regole

Dai un'occhiata anche a voce sul blog riguardante l'integrazione in un grande progetto esistente.

Nota: sembra che StyleCop restituisca solo circa 1000 avvisi, quindi continuerai a ottenere questo numero anche dopo aver corretto un heap.

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