LINQ code quality
Recipe ID
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.LinqCodeQualityArtifactOpenRewrite.Recipes.CSharp.CodeQualityOptimize LINQ method calls for better readability and performance.
Composite recipecsharplinqcode-qualityProprietary
Usage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe OpenRewrite.Recipes.CSharp.CodeQuality.Linq.LinqCodeQualityIf the recipe isn’t available locally, install it with:
mod config recipes nuget install OpenRewrite.Recipes.CSharp.CodeQualityDefinition
This recipe runs the following recipes in order.
- Optimize LINQ Where().Any()
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.OptimizeLinqWhereAny - Optimize LINQ Where().Count()
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.OptimizeLinqWhereCount - Optimize LINQ Where().First()
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.OptimizeLinqWhereFirst - Optimize LINQ Where().FirstOrDefault()
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.OptimizeLinqWhereFirstOrDefault - Optimize LINQ Where().Single()
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.OptimizeLinqWhereSingle - Optimize LINQ Where().SingleOrDefault()
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.OptimizeLinqWhereSingleOrDefault - Optimize LINQ Where().Last()
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.OptimizeLinqWhereLast - Optimize LINQ Where().LastOrDefault()
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.OptimizeLinqWhereLastOrDefault - Optimize LINQ Where().LongCount()
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.OptimizeLinqWhereCountLong - Optimize LINQ Select().Max()
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.OptimizeLinqSelectMax - Optimize LINQ Select().Min()
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.OptimizeLinqSelectMin - Optimize LINQ Select().Sum()
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.OptimizeLinqSelectSum - Optimize LINQ Select().Average()
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.OptimizeLinqSelectAverage - Use ThenBy instead of second OrderBy
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.UseOrderByThenBy - Use OrderBy().ThenByDescending()
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.UseOrderByThenByDescending - Use OrderByDescending().ThenByDescending()
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.UseOrderByDescendingThenByDescending - Use Order() instead of OrderBy() with identity
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.UseOrderInsteadOfOrderBy - Remove useless OrderBy call
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.RemoveUselessOrderBy - Use Cast<T>() instead of Select with cast
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.UseCastInsteadOfSelect - Combine LINQ methods
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.CombineLinqMethods - Use Where before OrderBy
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.FindWhereBeforeOrderBy - Use Any() instead of Count() > 0
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.UseAnyInsteadOfCount - Find Count() comparison that could be optimized
OpenRewrite.Recipes.CSharp.CodeQuality.Linq.FindOptimizeCountUsage