SonarSource/sonar-dotnet

New Rule T0028: Move all arguments on the same line, or wrap all of them

Opened this issue · 0 comments

Coding style:

Method invocation arguments should be placed on the same line only when they are few and simple. Otherwise, they should be placed on separate lines. The first argument should be on a separate line, aligned with a left-most single indentation.

object.MethodName(
    firstArgument,
    x => x.Bar(),
    thirdArgument.Property);

Exception from this rule: Lambda parameter name and arrow token should be on the same line as the invocation.

context.RegisterSyntaxNodeAction(c =>
    {
        // Action
    }
Method(a, b); // Compliant
Method(a,   // Noncompliant
    b); 
Method(
    a, b); // Noncompliant
Method(
    a,
    b, c, // Noncompliant
    d); 

Registration context can be detected like this:

private static bool IsSonarContextAction(SonarSyntaxNodeReportingContext context) =>

This rule does not care about the indentation. That is in T0029