
Instale -o através da linha de comando:
Install-Package SharpSourceOu adicione uma referência você mesmo:
< ItemGroup >
< PackageReference Include = " SharpSource " Version = " 1.26.0 " PrivateAssets = " All " />
</ ItemGroup >Se você deseja instalá -lo como uma extensão, faça o download do mercado.
Isso abriga uma coleção de analisadores que pretendem facilitar alguns recursos e tipos de estrutura do idioma. Faz isso destacando quando você pode estar usando algo incorretamente de uma maneira que resultaria em desempenho abaixo do ideal, exceções de tempo de execução ou comportamento não intencional geral.
Em outras palavras, este repo contém apenas analisadores para padrões que têm um potencial concreto para se transformar em um bilhete de defeito . Não se destina a ajudar em tarefas gerais de limpeza, como formatar seu código ou fornecer ajudantes de produtividade.
Interessado em contribuir? Dê uma olhada nas diretrizes!
Explicações detalhadas de cada analisador podem ser encontradas na documentação: https://github.com/vannevelj/sharpsource/tree/master/docs
| Código | Nome |
|---|---|
| SS001 | AsyncmethodWithVoidReturntype |
| SS002 | DATETIMENOW |
| SS003 | DivideIntegerByInteger |
| SS004 | ElementaryMethodSoftypeIncollectionNoToToverRidden |
| SS005 | EqualsandgethashCodenotImplementEdToGether |
| SS006 | Jogado |
| SS007 | FlagsenumValueNotPowerSoftwo |
| SS008 | GethashcodereFerstomutableMember |
| SS009 | LOOPEDRANDOMOMINSTIATION |
| SS010 | Newguid |
| SS011 | OnPropertyChangedWithoutNameoFoperator |
| SS012 | RecursiveOperatorOverload |
| SS013 | RethrowExceptionWithoutLosingStackTrace |
| SS014 | StringDOTFORMATWITHDIFFERENTAMOUNTOFARGUMENTOS |
| SS015 | StringPlaceholdersInwrongorder |
| SS017 | StructWithoutElementaryMethOdSoverringden |
| SS018 | Switchdoesnothandleallenumoptions |
| SS019 | SwitchismissingDefaultLabel |
| SS020 | TestMethodWithoutPublicModifier |
| SS021 | TestMethodWithoutTestattribute |
| SS022 | Exception -ThRONDENFROMPLICITOPERATOR |
| SS023 | ExceptionHrownFroPropertyGetter |
| SS024 | Exception ThrownFroStaticConstructor |
| SS025 | Exception ThrownFromFinallyBlock |
| SS026 | Exception -ThRONFROMEQUIDADE Operador |
| SS027 | Exception -ThROWN DO DISPOSIÇÃO |
| SS028 | Exception -ThRownFromfinalizer |
| SS029 | ExceptionHrownfromgethashCode |
| SS030 | Exception ThrownFromequals |
| SS032 | ThreadsleepinaSyncMethod |
| SS033 | Assíncrono doilsavalável |
| SS034 | AccessingTaskResultWithoutAwait |
| SS035 | SynchronsTaskwait |
| SS036 | ExplicticeNumValues |
| SS037 | HttpclientInstantiedDirectly |
| SS038 | HttpContextSoredInfield |
| SS039 | EnumwithoutdefaultValue |
| SS040 | UNUSUSUSTRESUTONIMUTABLEOBJECT |
| SS041 | Materialização desnecessária |
| SS042 | Instância de campoWithThreadStatic |
| SS043 | Múltiplos fombosparâmetros |
| SS044 | AttributemustSpecifyAttributeUSAGE |
| SS045 | StaticinitializerAccedBeforeinitialização |
| SS046 | UNLI -LURADOSTACKALLOC |
| SS047 | LinQTraversalbeFilter |
| SS048 | LockingOndSCourAgedObject |
| SS049 | ComparingStringsWithoutStringComparison |
| SS050 | ParameterAssignEdEnSonstructor |
| SS051 | LOCKINGONMUTABLERERFEREference |
| SS052 | ThreadStaticWithinitializer |
| SS053 | PONTENSCOLLECTIONTOUSTRING |
| SS054 | NewtonsoftMixedWithSystemTextjson |
| SS055 | MúltiplorOrderByCalls |
| SS056 | FormReadSynchronsly |
| SS057 | Coleção ManipulatedDuringTraverSal |
| SS058 | StringCoCatenatedInloop |
| SS059 | Descarteasyncdisposable |
| SS060 | ConcurrentDictionárioEmptyCheck |
Uma regra específica não é do seu gosto? Existem muitas maneiras de ajustar sua gravidade e até desativá -las completamente. Para uma visão geral de algumas das opções, consulte este documento.