dotnet/roslyn

Deconstructed variables code fix should always camelCase variables

Open

#23,716 opened on Dec 11, 2017

View on GitHub
 (9 comments) (1 reaction) (0 assignees)C# (4,257 forks)batch import
Area-IDEFeature - Tupleshelp wanted

Repository metrics

Stars
 (20,414 stars)
PR merge metrics
 (Avg merge 6d 17h) (256 merged PRs in 30d)

Description

class Program
{
    private static readonly (string Factory, string EvaluationRuleName) Foo;

    static void Main(string[] args)
    {
        var foo = Foo; // Deconstruct tuple here


    }
}

Expected:

class Program
{
    private static readonly (string Factory, string EvaluationRuleName) Foo;

    static void Main(string[] args)
    {
        var (factory, evaluationRuleName) = Foo;
    }
}

Actual:


class Program
{
    private static readonly (string Factory, string EvaluationRuleName) Foo;

    static void Main(string[] args)
    {
        var (Factory, EvaluationRuleName) = Foo;

    }
}

Because tuple names appear as public fields when you access them via the tuple itself, it's common practice to PascalCase them in a declaration. However, when they are deconstructed into variables - you want them them to be camelCase to match the naming style for variables.

Either add an option here that I can switch or change the behavior. As it stands, I can't use this code fix.

Contributor guide