Qondra #269
2724 new problems found by Qodana for .NET
Qodana for .NET
2724 new problems were found
Inspection name | Severity | Problems |
---|---|---|
Auto-property accessor is never used (non-private accessibility) |
🔶 Warning | 124 |
Possible 'System.NullReferenceException' |
🔶 Warning | 97 |
Redundant using directive |
🔶 Warning | 95 |
Redundant name qualifier |
🔶 Warning | 80 |
Redundant explicit type in array creation |
🔶 Warning | 54 |
Namespace does not correspond to file location |
🔶 Warning | 53 |
Possible multiple enumeration |
🔶 Warning | 46 |
Possible 'null' assignment to non-nullable entity |
🔶 Warning | 25 |
Unused local variable |
🔶 Warning | 21 |
Type member is never used (private accessibility) |
🔶 Warning | 19 |
Redundant argument with default value |
🔶 Warning | 17 |
Assignment is not used |
🔶 Warning | 13 |
Invalid XML documentation comment |
🔶 Warning | 12 |
Non-accessed positional property (private accessibility) |
🔶 Warning | 9 |
Conditional access qualifier expression is known to be null or not null |
🔶 Warning | 8 |
Use null check instead of a type check succeeding on any not-null value |
🔶 Warning | 7 |
Async function without await expression |
🔶 Warning | 6 |
Empty general catch clause |
🔶 Warning | 6 |
Non-accessed field (private accessibility) |
🔶 Warning | 6 |
Redundant member initializer |
🔶 Warning | 5 |
String.IndexOf is culture-specific (string.IndexOf(string) is culture-specific) |
🔶 Warning | 5 |
Unused parameter (private accessibility) |
🔶 Warning | 5 |
Collection is never updated (non-private accessibility) |
🔶 Warning | 4 |
Empty constructor |
🔶 Warning | 4 |
Method return value is never used (private accessibility) |
🔶 Warning | 4 |
Empty statement is redundant |
🔶 Warning | 3 |
Non-accessed positional property (non-private accessibility) |
🔶 Warning | 3 |
Access to a static member of a type via a derived type |
🔶 Warning | 2 |
The switch expression does not handle some values of its input type (it is not exhaustive) involving an unnamed enum value. |
🔶 Warning | 2 |
Expression is always 'true' or always 'false' |
🔶 Warning | 2 |
Empty namespace declaration |
🔶 Warning | 2 |
Member hides static member from outer class |
🔶 Warning | 2 |
Non-accessed local variable |
🔶 Warning | 2 |
Redundant type arguments of method |
🔶 Warning | 2 |
Redundant type declaration body |
🔶 Warning | 2 |
Type is never used (private accessibility) |
🔶 Warning | 2 |
Keyword 'new' is required |
🔶 Warning | 1 |
Code is unreachable |
🔶 Warning | 1 |
Use of obsolete symbol |
🔶 Warning | 1 |
Class overrides Object.Equals(object o) but not Object.GetHashCode() |
🔶 Warning | 1 |
Operator '==' or operator '!=' with 'Object.Equals(object o)' and 'Object.GetHashCode()' not overridden |
🔶 Warning | 1 |
Co-variant array conversion |
🔶 Warning | 1 |
Collection content is never queried (private accessibility) |
🔶 Warning | 1 |
'??' condition is known to be null or not null |
🔶 Warning | 1 |
String formatting method problems |
🔶 Warning | 1 |
Local variable hides member |
🔶 Warning | 1 |
Cannot resolve symbol in text argument |
🔶 Warning | 1 |
Possible 'System.InvalidCastException' in foreach loop |
🔶 Warning | 1 |
Redundant 'object.ToString()' call |
🔶 Warning | 1 |
Field is never used |
🔶 Warning | 1 |
Variable in local function hides variable from outer scope |
🔶 Warning | 1 |
Use preferred 'var' style (for built-in types) |
◽️ Notice | 404 |
Use preferred 'var' style (when type is simple) |
◽️ Notice | 283 |
Use preferred namespace body style |
◽️ Notice | 228 |
Remove redundant pattern-matching parentheses |
◽️ Notice | 72 |
Use preferred 'var' style (elsewhere) |
◽️ Notice | 66 |
Use preferred style of 'new' expression when created type is evident |
◽️ Notice | 58 |
Type is never used (non-private accessibility) |
◽️ Notice | 54 |
Type member is never used (non-private accessibility) |
◽️ Notice | 51 |
Member can be made private (non-private accessibility) |
◽️ Notice | 50 |
Property can be made init-only (non-private accessibility) |
◽️ Notice | 48 |
Redundant verbatim string prefix |
◽️ Notice | 47 |
Member can be made static (shared) (private accessibility) |
◽️ Notice | 42 |
Class is never instantiated (non-private accessibility) |
◽️ Notice | 40 |
Invert 'if' statement to reduce nesting |
◽️ Notice | 38 |
Redundant empty argument list on object creation expression |
◽️ Notice | 32 |
Redundant 'else' keyword |
◽️ Notice | 27 |
Literal length can be reduced by using verbatim string |
◽️ Notice | 27 |
Use preferred style for trailing comma before new line in multiline lists |
◽️ Notice | 26 |
Remove redundant parentheses |
◽️ Notice | 20 |
Field can be made readonly (private accessibility) |
◽️ Notice | 20 |
'if-return' statement can be rewritten as 'return' statement |
◽️ Notice | 17 |
Convert local variable or field into constant (private accessibility) |
◽️ Notice | 17 |
Redundant lambda signature parentheses |
◽️ Notice | 17 |
Redundant string interpolation |
◽️ Notice | 17 |
Type member is never accessed via base type (non-private accessibility) |
◽️ Notice | 17 |
Replace built-in type reference with a CLR type name or a keyword in static member access expressions |
◽️ Notice | 16 |
Parameter can be declared with the base type |
◽️ Notice | 16 |
Use preferred body style (convert into property, indexer, or event with preferred body style) |
◽️ Notice | 13 |
Method return value is never used (non-private accessibility) |
◽️ Notice | 13 |
Use explicit or implicit modifier definition for types |
◽️ Notice | 11 |
Use explicit or implicit modifier definition for type members |
◽️ Notice | 9 |
Auto-property can be made get-only (non-private accessibility) |
◽️ Notice | 9 |
Replace built-in type reference with a CLR type name or a keyword |
◽️ Notice | 9 |
Replace 'Substring' with range indexer |
◽️ Notice | 9 |
Loop can be converted into LINQ-expression |
◽️ Notice | 8 |
Convert into 'using' declaration |
◽️ Notice | 7 |
Foreach loop can be converted into LINQ-expression but another 'GetEnumerator' method will be used |
◽️ Notice | 7 |
Property can be made init-only (private accessibility) |
◽️ Notice | 7 |
Array creation can be replaced with array initializer |
◽️ Notice | 7 |
Add/remove qualifier for static members |
◽️ Notice | 6 |
Part of foreach loop can be converted into LINQ-expression but another 'GetEnumerator' method will be used |
◽️ Notice | 6 |
Member can be made static (shared) (non-private accessibility) |
◽️ Notice | 6 |
Method supports cancellation |
◽️ Notice | 5 |
Unused parameter (non-private accessibility) |
◽️ Notice | 5 |
Class with virtual (overridable) members never inherited (non-private accessibility) |
◽️ Notice | 4 |
Convert constructor into member initializers |
◽️ Notice | 4 |
Convert into lambda expression |
◽️ Notice | 4 |
Return type can be IEnumerable<T> (non-private accessibility) |
◽️ Notice | 4 |
Use collection's count property |
◽️ Notice | 4 |
'if' statement can be rewritten as '?:' expression |
◽️ Notice | 3 |
Convert 'if' statement into 'switch' |
◽️ Notice | 3 |
Local variable has too wide declaration scope |
◽️ Notice | 3 |
Convert into 'await using' statement or declaration |
◽️ Notice | 3 |
Use object or collection initializer when possible |
◽️ Notice | 3 |
Use string interpolation expression |
◽️ Notice | 3 |
'if' statement can be rewritten as '??=' assignment |
◽️ Notice | 2 |
Replace 'switch' statement with 'switch' expression |
◽️ Notice | 2 |
Use compound assignment |
◽️ Notice | 2 |
Member can be made protected (non-private accessibility) |
◽️ Notice | 2 |
Merge null/pattern checks into complex pattern |
◽️ Notice | 2 |
Method has async overload with cancellation support |
◽️ Notice | 2 |
Parameter type can be IEnumerable<T> (private accessibility) |
◽️ Notice | 2 |
Return type can be IEnumerable<T> (private accessibility) |
◽️ Notice | 2 |
Use preferred style of default value expression when type is evident |
◽️ Notice | 1 |
Class is never instantiated (private accessibility) |
◽️ Notice | 1 |
Convert lambda expression into method group |
◽️ Notice | 1 |
Convert property into auto-property with private setter |
◽️ Notice | 1 |
Empty region |
◽️ Notice | 1 |
Field can be made readonly (non-private accessibility) |
◽️ Notice | 1 |
Inline 'out' variable declaration |
◽️ Notice | 1 |
Join local variable declaration and assignment |
◽️ Notice | 1 |
Merge conditional ?: expression into conditional access |
◽️ Notice | 1 |
Merge negated null/pattern checks into complex pattern |
◽️ Notice | 1 |
Non-accessed field (non-private accessibility) |
◽️ Notice | 1 |
Make constructor in abstract class protected |
◽️ Notice | 1 |
Redundant braces in collection initializer |
◽️ Notice | 1 |
Redundant verbatim prefix |
◽️ Notice | 1 |
Replace with single call to FirstOrDefault(..) |
◽️ Notice | 1 |
Use format specifier in interpolated strings |
◽️ Notice | 1 |
Some values of the enum are not processed inside 'switch' statement and are handled via default section |
◽️ Notice | 1 |
Tail recursive call can be replaced with loop |
◽️ Notice | 1 |
Use 'Array.Empty<T>()' |
◽️ Notice | 1 |
💡 Qodana analysis was run in the pull request mode: only the changed files were checked
☁️ View the detailed Qodana report
Contact Qodana team
Contact us at [email protected]
- Or via our issue tracker: https://jb.gg/qodana-issue
- Or share your feedback: https://jb.gg/qodana-discussions
Details
This result was published with Qodana GitHub Action
Annotations
Check warning on line 124 in clio/Package/PackageConverter.cs
github-actions / Qodana for .NET
Access to a static member of a type via a derived type
Access to a static member of a type via a derived type
Check warning on line 15 in clio/Utilities/WebBrowser.cs
github-actions / Qodana for .NET
Access to a static member of a type via a derived type
Access to a static member of a type via a derived type
Check notice on line 116 in clio/Environment/ConfigurationOptions.cs
github-actions / Qodana for .NET
Use preferred body style (convert into property, indexer, or event with preferred body style)
Inconsistent body style: use expression-bodied property
Check notice on line 11 in clio/Utilities/WebBrowser.cs
github-actions / Qodana for .NET
Use preferred body style (convert into property, indexer, or event with preferred body style)
Inconsistent body style: use expression-bodied property
Check notice on line 12 in clio/Common/System.cs
github-actions / Qodana for .NET
Use preferred body style (convert into property, indexer, or event with preferred body style)
Inconsistent body style: use expression-bodied property
Check notice on line 171 in clio/Command/CommandLineOptions.cs
github-actions / Qodana for .NET
Use preferred body style (convert into property, indexer, or event with preferred body style)
Inconsistent body style: use expression body
Check notice on line 26 in clio/Command/CheckWindowsFeatureCommand.cs
github-actions / Qodana for .NET
Use preferred body style (convert into property, indexer, or event with preferred body style)
Inconsistent body style: use expression-bodied property
Check notice on line 17 in cliogate/Files/cs/EntitySchemaModelClassGenerator.cs
github-actions / Qodana for .NET
Use preferred body style (convert into property, indexer, or event with preferred body style)
Inconsistent body style: use expression-bodied property
Check notice on line 18 in clio/Common/System.cs
github-actions / Qodana for .NET
Use preferred body style (convert into property, indexer, or event with preferred body style)
Inconsistent body style: use expression-bodied property
Check notice on line 57 in clio/Command/CheckWindowsFeatureCommand.cs
github-actions / Qodana for .NET
Use preferred body style (convert into property, indexer, or event with preferred body style)
Inconsistent body style: use expression-bodied property
Check notice on line 47 in clio/Command/CommandLineOptions.cs
github-actions / Qodana for .NET
Use preferred body style (convert into property, indexer, or event with preferred body style)
Inconsistent body style: use expression body
Check notice on line 23 in cliogate/Files/cs/EntitySchemaModelClassGenerator.cs
github-actions / Qodana for .NET
Use preferred body style (convert into property, indexer, or event with preferred body style)
Inconsistent body style: use expression-bodied property
Check notice on line 105 in clio/Command/CommandLineOptions.cs
github-actions / Qodana for .NET
Use preferred body style (convert into property, indexer, or event with preferred body style)
Inconsistent body style: use expression body
Check notice on line 60 in clio/Environment/ConfigurationOptions.cs
github-actions / Qodana for .NET
Use preferred body style (convert into property, indexer, or event with preferred body style)
Inconsistent body style: use expression body
Check notice on line 26 in cliogate/Files/cs/EntitySchemaModelClassGenerator.cs
github-actions / Qodana for .NET
Use preferred body style (convert into property, indexer, or event with preferred body style)
Inconsistent body style: use expression-bodied property
Check notice on line 42 in clio/Common/K8/cp.cs
github-actions / Qodana for .NET
Use preferred style of default value expression when type is evident
Redundant type specification
Check notice on line 10 in clio/Command/GitSync.cs
github-actions / Qodana for .NET
Use preferred namespace body style
Convert to file-scoped namespace
Check notice on line 8 in clio/Requests/ValidationBehaviour.cs
github-actions / Qodana for .NET
Use preferred namespace body style
Convert to file-scoped namespace
Check notice on line 6 in clio/Project/VSProject.cs
github-actions / Qodana for .NET
Use preferred namespace body style
Convert to file-scoped namespace
Check notice on line 10 in clio/Command/CheckWindowsFeatureCommand.cs
github-actions / Qodana for .NET
Use preferred namespace body style
Convert to file-scoped namespace
Check notice on line 24 in clio/Program.cs
github-actions / Qodana for .NET
Use preferred namespace body style
Convert to file-scoped namespace
Check notice on line 6 in clio/Command/CommandLineOptions.cs
github-actions / Qodana for .NET
Use preferred namespace body style
Convert to file-scoped namespace
Check notice on line 12 in clio/Package/PackageConverter.cs
github-actions / Qodana for .NET
Use preferred namespace body style
Convert to file-scoped namespace
Check notice on line 2 in clio/Project/CreatioPkgProjectCreator.cs
github-actions / Qodana for .NET
Use preferred namespace body style
Convert to file-scoped namespace
Check notice on line 13 in clio/Command/RegAppCommand.cs
github-actions / Qodana for .NET
Use preferred namespace body style
Convert to file-scoped namespace