C#7嵌套局部函数–;容易阅读?

C#7嵌套局部函数–;容易阅读?,c#,.net,readability,code-readability,C#,.net,Readability,Code Readability,C#7引入了局部嵌套函数。它们为代码提供了更好的结构,但它们是否提高了可读性?是否有任何标准、建议和最佳做法?什么对你的眼睛和美感更容易阅读 class Nested { void Foo() { void Bar() { } void Baz() { } Bar(); Baz(); } } class Usual { void B

C#7引入了局部嵌套函数。它们为代码提供了更好的结构,但它们是否提高了可读性?是否有任何标准、建议和最佳做法?什么对你的眼睛和美感更容易阅读

class Nested
{
    void Foo()
    {
        void Bar()
        {
        }

        void Baz()
        {
        }

        Bar();
        Baz();
    }
}

class Usual
{
    void Bar()
    {
    }

    void Baz()
    {
    }

    void Foo()
    {
        Bar();
        Baz();
    }
}

我的眼睛喜欢第二个。但这可能只是因为旧习惯很难改掉。HahaThis感觉就像是一个基于观点的问题的定义。首先,这是基于观点的。其次,IMHO嵌套函数语法只应在有用时使用(例如,当检查返回
IEnumerable
)的方法的参数时),对于您的示例,它没有用处。顺便说一句,这有两种不同的含义。您的私有函数可以在本地函数不能使用的其他函数中使用,这就是本文的重点所在。本地函数也可以使用私有函数不能使用的闭包。这与可读性无关,与功能无关。这就好比问什么是更具可读性的私有或公共方法,这个问题毫无意义。