Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
pavel-mikula-sonarsource opened this issue Apr 19, 2024 · 0 comments
Labels
Type: Tooling Tools make us productive.

Comments

@pavel-mikula-sonarsource
Copy link
Contributor

pavel-mikula-sonarsource commented Apr 19, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Tooling Tools make us productive.
Projects
None yet
Development

No branches or pull requests

1 participant