VSDiagnostics
VSDiagnostics copied to clipboard
A collection of static analyzers based on Roslyn that integrate with VS
> DO NOT use params arrays if the array is modified by the member taking the params array parameter. https://msdn.microsoft.com/en-us/library/ms229015(v=vs.110).aspx
Instead, use `string.Equals(a, b, StringComparison.OrdinalIgnoreCase)`. The same goes for `ToLower/UpperInvariant()`
- [x] ElementaryMethodsOfTypeInCollectionNotOverridden #3 - [x] ImplementEqualsAndHashcode #477 - [x] EqualsAndGetHashcodeNotImplementedTogether #172 - [x] StructWithoutElementaryMethodsOverridden #185 - [x] GetHashCodeRefersToMutableField #559
Add tests (and support?) for partial classes for ElementaryMethodsOfTypeInCollectionNotOverridden and EqualsAndGetHashcodeNotImplementedTogether.
JetBrains has [free package](https://www.nuget.org/packages/JetBrains.Annotations) with annotations. This package has useful attribute: StringFormatMethodAttribute ([find it here](https://www.jetbrains.com/help/resharper/2016.3/Reference__Code_Annotation_Attributes.html)). It is better to support it in this package too, because: 1. Some open source...
All XML doc parameters should be lowercase (I believe -- do research!). This should be wrong: ``` csharp \\\ Simple test method \\\ A sample parameter \\\ The value of...
I came across [this](http://stackoverflow.com/q/34244732/1864167) SO question which seems pretty interesting. The summary of it: > The goal of the provider is to add missing documentation for throw statements. Sounds like...
A `void` method is pointless with a `` clause in the XML documentation. This: ``` /// A number public void MyMethod() { } ``` Becomes: ``` public void MyMethod() {...
This resembles #188 but works the other way around: show a warning and offer to remove an XML doc parameter comment if there is no corresponding parameter. This: ``` ///...