Miaoyww / NonsPlayer

Multiple music streaming services & High performance.A real music player. 多音源 | 高性能。一个真正的音乐播放器
GNU General Public License v3.0
171 stars 6 forks source link

Add qodana CI checks #64

Closed qodana-cloud[bot] closed 1 month ago

qodana-cloud[bot] commented 1 month ago

Adds qodana.yaml and GitHub workflow file that runs Qodana static analysis on each pull request.

github-actions[bot] commented 1 month ago

Qodana for .NET

3479 new problems were found

Inspection name Severity Problems
Unexpected text token error 🔴 Failure 32
XML highlighting 🔴 Failure 16
Lossy encoding 🔴 Failure 2
Redundant using directive 🔶 Warning 915
Static resource not resolved 🔶 Warning 211
Non-nullable member is uninitialized. 🔶 Warning 149
Field is never used 🔶 Warning 138
Type member is never used (private accessibility) 🔶 Warning 98
Namespace does not correspond to file location 🔶 Warning 64
Unused parameter (private accessibility) 🔶 Warning 53
Redundant 'partial' modifier on type declaration 🔶 Warning 43
Auto-property accessor is never used (non-private accessibility) 🔶 Warning 43
Redundant namespace alias 🔶 Warning 42
Dereference of a possibly null reference. 🔶 Warning 35
Conditional access qualifier expression is not null according to nullable reference types' annotations 🔶 Warning 31
Expression is always 'true' or 'false' according to nullable reference types' annotations 🔶 Warning 29
Async function without await expression 🔶 Warning 23
Unknown property 🔶 Warning 23
Conditional access qualifier expression is known to be null or not null 🔶 Warning 20
Method return value is never used (private accessibility) 🔶 Warning 18
Async method invocation without await expression 🔶 Warning 16
Unused local variable 🔶 Warning 16
Possible null reference return. 🔶 Warning 12
Possible null reference argument for a parameter. 🔶 Warning 11
Non-accessed field (private accessibility) 🔶 Warning 9
Keyword 'new' is required 🔶 Warning 6
Possible null reference assignment. 🔶 Warning 6
Non-accessed field 🔶 Warning 6
Local variable hides member 🔶 Warning 4
Converting null literal or possible null value to non-nullable type. 🔶 Warning 3
Cannot convert null literal to non-nullable reference type. 🔶 Warning 3
Empty general catch clause 🔶 Warning 3
Parameter hides member 🔶 Warning 3
Private field can be converted into local variable 🔶 Warning 3
Rider toolset and environment errors 🔶 Warning 3
Unassigned field 🔶 Warning 3
Avoid using 'async' lambda when delegate type returns 'void' 🔶 Warning 2
Redundant member initializer 🔶 Warning 2
Nullability of reference types in return type doesn't match implicitly implemented member. 🔶 Warning 1
Nullability of reference types in type of a parameter doesn't match the target delegate (possibly because of nullability attributes). 🔶 Warning 1
Collection is never updated (non-private accessibility) 🔶 Warning 1
Deprecated property 🔶 Warning 1
Empty constructor 🔶 Warning 1
Event never invoked 🔶 Warning 1
Invalid XML documentation comment 🔶 Warning 1
Non-accessed local variable 🔶 Warning 1
Possible 'System.InvalidCastException' in foreach loop 🔶 Warning 1
Assignment is not used 🔶 Warning 1
Redundant empty switch section 🔶 Warning 1
Redundant control flow jump statement 🔶 Warning 1
Return type of a function can be non-nullable 🔶 Warning 1
Unassigned readonly field 🔶 Warning 1
Unused parameter in partial method 🔶 Warning 1
Unused type parameter 🔶 Warning 1
Unused schema declaration 🔶 Warning 1
Type member is never used (non-private accessibility) ◽️ Notice 268
Use preferred namespace body style ◽️ Notice 214
Unused parameter (non-private accessibility) ◽️ Notice 99
RoslynAnalyzers Mark members as static ◽️ Notice 94
Member can be made private (non-private accessibility) ◽️ Notice 90
Use preferred 'var' style (when type is simple) ◽️ Notice 87
Type is never used (non-private accessibility) ◽️ Notice 85
Class is never instantiated (non-private accessibility) ◽️ Notice 53
Method return value is never used (non-private accessibility) ◽️ Notice 39
Use preferred 'var' style (for built-in types) ◽️ Notice 38
Type member is never accessed via base type (non-private accessibility) ◽️ Notice 26
Invert 'if' statement to reduce nesting ◽️ Notice 22
Use preferred 'var' style (elsewhere) ◽️ Notice 21
Field can be made readonly (private accessibility) ◽️ Notice 18
Property can be made init-only (non-private accessibility) ◽️ Notice 16
Non-accessed field (non-private accessibility) ◽️ Notice 15
Redundant type declaration body ◽️ Notice 15
Field can be made readonly (non-private accessibility) ◽️ Notice 13
Convert constructor into primary constructor ◽️ Notice 11
Member can be made static (shared) (non-private accessibility) ◽️ Notice 10
Member can be made static (shared) (private accessibility) ◽️ Notice 10
RoslynAnalyzers Non-constant fields should not be visible ◽️ Notice 8
Use collection expression syntax ◽️ Notice 8
Remove redundant parentheses ◽️ Notice 7
Auto-property can be made get-only (non-private accessibility) ◽️ Notice 5
Type check and casts can be merged ◽️ Notice 5
Redundant 'else' keyword ◽️ Notice 5
Use preferred style of 'new' expression when created type is not evident ◽️ Notice 4
Use preferred style for trailing comma before new line in multiline lists ◽️ Notice 4
Loop can be converted into LINQ-expression ◽️ Notice 4
Replace 'Substring' with range indexer ◽️ Notice 4
RoslynAnalyzers Cache and reuse 'JsonSerializerOptions' instances ◽️ Notice 3
RoslynAnalyzers Forward the 'CancellationToken' parameter to methods ◽️ Notice 3
'if' statement can be rewritten as '??=' assignment ◽️ Notice 3
'if-return' statement can be rewritten as 'return' statement ◽️ Notice 3
Convert into 'using' declaration ◽️ Notice 3
Method supports cancellation ◽️ Notice 3
Redundant empty argument list on object creation expression ◽️ Notice 3
Redundant string interpolation ◽️ Notice 3
Convert into 'await using' statement or declaration ◽️ Notice 3
Use preferred style of 'new' expression when created type is evident ◽️ Notice 2
RoslynAnalyzers Do not ignore method results ◽️ Notice 2
'if' statement can be rewritten as '?:' expression ◽️ Notice 2
Convert 'if' statement into 'switch' ◽️ Notice 2
Replace 'switch' statement with 'switch' expression ◽️ Notice 2
Event is never subscribed to (non-private accessibility) ◽️ Notice 2
Merge null/pattern/value checks into 'or'/'and' patterns ◽️ Notice 2
Merge null/pattern checks into complex pattern ◽️ Notice 2
Method has async overload ◽️ Notice 2
RoslynAnalyzers Convert to 'GeneratedRegexAttribute'. ◽️ Notice 2
Use preferred 'var' style (in deconstruction declarations) ◽️ Notice 2
Some values of the enum are not processed inside 'switch' statement and are handled via default section ◽️ Notice 2
Local variable has too wide declaration scope ◽️ Notice 2
Add/remove 'this.' qualifier ◽️ Notice 1
RoslynAnalyzers Avoid constant arrays as arguments ◽️ Notice 1
RoslynAnalyzers Prefer the 'IDictionary.TryAdd(TKey, TValue)' method ◽️ Notice 1
RoslynAnalyzers Use char overload ◽️ Notice 1
RoslynAnalyzers Consider using 'string.Contains' instead of 'string.IndexOf' ◽️ Notice 1
Dictionary lookup can be simplified with 'TryAdd' ◽️ Notice 1
Convert constructor into member initializers ◽️ Notice 1
Convert property into auto-property ◽️ Notice 1
Convert local variable or field into constant (private accessibility) ◽️ Notice 1
Convert into lambda expression ◽️ Notice 1
Part of foreach loop can be converted into LINQ-expression but another 'GetEnumerator' method will be used ◽️ Notice 1
Redundant verbatim string prefix ◽️ Notice 1
Some values of the enum are not processed inside 'switch' statement ◽️ Notice 1
Unassigned field (non-private accessibility) ◽️ Notice 1
Convert 'as' expression type check and the following null check into negated pattern matching ◽️ Notice 1

☁️ View the detailed Qodana report

Contact Qodana team Contact us at [qodana-support@jetbrains.com](mailto:qodana-support@jetbrains.com) - Or via our issue tracker: https://jb.gg/qodana-issue - Or share your feedback: https://jb.gg/qodana-discussions