Domanda

Ho appena scaricato la beta ASP.NET MVC e i modelli non sono compatibili con StyleCop.

Perché il nuovo codice .NET proveniente da Microsoft non è conforme a StyleCop?

È stato utile?

Soluzione

StyleCop verifica la conformità alle Linee guida per la progettazione di Microsoft Framework.

Le linee guida sono applicate solo sul codice che costituisce il .NET Framework corretto, e anche nel framework appropriato, esistono intervalli occasionali. Altrove, le linee guida sono solo raccomandazioni.

Le linee guida per la progettazione del framework sono disponibili come un libro stampato e rendono molto interessante la lettura delle annotazioni dei partecipanti su perché e come sono d'accordo o in disaccordo e sul modo migliore per applicare e interpretare le regole. Vorrei sottolineare diversi fatti importanti:

  • Nemmeno le persone che hanno scritto il le linee guida concordano su tutti.
  • Probabilmente non stai scrivendo a framework per il rilascio in natura.
  • Le linee guida sono in fase di elaborazione e StyleCop è in ritardo rispetto a esse.

Altri suggerimenti

Microsoft non è monolitica. Diversi gruppi in esso avranno opinioni diverse su quanto siano importanti gli avvisi StyleCop. Molte persone preferirebbero rilasciare prima che giocherellare sul cambiamento di cose che non fanno molta differenza.

Inoltre, StyleCop non è sempre corretto. A volte la cosa migliore da fare con un avviso è ignorarlo.

Alcune considerazioni sulla conformità con lo stile poliziotto:

  • Lo stile poliziotto ha regole che sono buone in generale.

  • Ci sono situazioni in cui le regole generali non sono abbastanza buone per il caso particolare o non hanno senso.

  • Prendiamo ad esempio il framework Microsoft XNA, quel framework infrange così tante regole che fanno urlare FXCop. Ma hanno motivi assolutamente legittimi per romperli, come prestazioni e portabilità.

  • Le regole del poliziotto di stile sono Consigli , non Leggi , infrangerle si riduce al ragionamento su ciò che porta più benefici alla situazione : seguire la regola ed essere standard e familiari o, o infrangere la regola per il motivo specifico che la tua situazione impone e avere altri benefici nel farlo.

  • Le regole cambiano. Qualcosa deve guidare il cambiamento.

Quindi, il team di Microsoft MVC è libero di essere poliziotto non conforme se ritiene che sia una buona cosa farlo.

P.S. Infrangere le regole senza una buona ragione non è mai una buona cosa.

La maggior parte se non tutti i modelli Microsoft, in Visual Studio, non sono lamentele per la copia di stili.

Puoi anche chiedere perché la maggior parte delle applicazioni Microsoft non segue le linee guida sull'usabilità di Microsoft.

MS è una grande azienda e come tutte le grandi aziende di solito non seguono le proprie regole.

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