
Installez-le via la ligne de commande:
Install-Package SharpSourceOu ajoutez une référence vous-même:
< ItemGroup >
< PackageReference Include = " SharpSource " Version = " 1.26.0 " PrivateAssets = " All " />
</ ItemGroup >Si vous souhaitez l'installer comme une extension à la place, téléchargez-le depuis le marché.
Ce repo abrite une collection d'analyseurs qui visent à faciliter le travail de certaines fonctionnalités linguistiques et de framework. Il le fait en soulignant quand vous pourriez utiliser quelque chose de mal d'une manière qui entraînerait des performances sous-optimales, des exceptions d'exécution ou un comportement non intentionnel général.
En d'autres termes, ce repo ne contient que des analyseurs pour des modèles qui ont un potentiel concrétif pour se transformer en un billet de défaut . Il n'est pas destiné à aider avec les tâches générales de l'entretien ménager comme la mise en forme de votre code ou la fourniture d'aideurs de productivité.
Intéressé à contribuer? Jetez un œil aux directives!
Des explications détaillées de chaque analyseur se trouvent dans la documentation: https://github.com/vannevelj/sharpsource/tree/master/docs
| Code | Nom |
|---|---|
| SS001 | Asyncméthode avec |
| SS002 | Datetimenow |
| SS003 | DivideIntegerByInteger |
| SS004 | ÉlémentairemethodsofypeincollectionNotOverridden |
| SS005 | Est égal à un niveau d'assistance |
| SS006 | Lancé |
| SS007 | FlagsenumValuesArenotpowersoftwo |
| SS008 | GethashcodereferstomutableMember |
| SS009 | LoopeDrandominstantiation |
| SS010 | Newguide |
| SS011 | OnPropertyChanged avec nom de division |
| SS012 | RecursiveOperatoroLload |
| SS013 | RethrowException avec le gardien |
| SS014 | StringDotFormatwithdifferentAmountofarguments |
| SS015 | StringPlaceHoldersInwrongOrder |
| SS017 | StructuretwithoutaryMethodsoverridden |
| SS018 | Commutation |
| SS019 | Switchismisingdefaultlabel |
| SS020 | TestMethod avecpublicmodificateur |
| SS021 | TestMethod withoutTestAttribute |
| SS022 | Exception à l'origine de l'opérateur |
| SS023 | ExpectionhrownfromPropertygetter |
| SS024 | Constructrice de la construction |
| SS025 | Exception à la berline |
| SS026 | Exception à l'origine de l'opérateur |
| SS027 | Exceptionnel à l'origine |
| SS028 | Exception à la fin de la fin |
| SS029 | Exceptionrrrownfromgethashcode |
| SS030 | Exceptionnels |
| SS032 | TreadsleepinasyncMethod |
| SS033 | Asyncoverloadsavailable |
| SS034 | Accéder à la carré |
| SS035 | SynchronTaskWait |
| SS036 | Explictitenumvalues |
| SS037 | HttpclientInstanticiateddirectly |
| SS038 | HttpContextstoredIdField |
| SS039 | EnumwithoutDefaultValue |
| SS040 | Inutilisé |
| SS041 | La démolition inutile |
| SS042 | InstanceFieldwithThreadStatic |
| SS043 | Plusieurs paramètres de Frombody |
| SS044 | AttributemUstSpecifyAtTributeUsage |
| SS045 | Staticinitializer accessibles forehinitialization |
| SS046 | Non lié |
| SS047 | Linqtraversalbefilter |
| SS048 | LockingondiscouragedObject |
| SS049 | CompartingStrings withoutstringcomparison |
| SS050 | Paramètre AssignedInstructor |
| SS051 | Lockingonmutablereference |
| SS052 | ThreadstaticwithInitializer |
| SS053 | PointlessCollectionTostring |
| SS054 | NewtonsoftMixed avecystemtextjson |
| SS055 | MultipyOrdyCalls |
| SS056 | Formeadsynchronement |
| SS057 | CollectionManipuledUringTraversal |
| SS058 | StringCaténatedInloop |
| SS059 | Dissalencdisposable |
| SS060 | ConcurrentdictionaryEmptycheck |
Une règle particulière n'est-elle pas à votre goût? Il existe de nombreuses façons d'ajuster leur gravité et même de les désactiver complètement. Pour un aperçu de certaines des options, consultez ce document.