编写高质量代码改善C#程序的157个建议——建议143:方法抽象级别应在同一层次

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写高质量代码改善C#程序的157个建议——建议143:方法抽象级别应在同一层次相关的知识,希望对你有一定的参考价值。

 

建议143:方法抽象级别应在同一层次

看下面代码:

    class SampleClass
    {
        public void Init()
        {
            //本地初始化代码1
            //本地初始化代码2
            RemoteInit();
        }

        void RemoteInit()
        {
            //远程初始化代码1
            //远程初始化代码2
        }
    }

 

 Init方法本意要完成初始化动作,而初始化包括本地初始化和远程初始化。这段代码中,Init方法内部代码的组织结构是本地初始化直接运行在方法内部,而远程初始化代码却被封装为一个方法在这里被调用。这显然是不妥当的,应为本地初始化和远程初始化的地位是相当的。如果远程初始化代码作为方法存在,则本地初始化代码也应该作为方法存在。

所以,上面代码应该重构为:

    class SampleClass
    {
        public void Init()
        {
            LocalInit();
            RemoteInit();
        }

        void LocalInit()
        {
            //本地初始化代码1
            //本地初始化代码2   
        }

        void RemoteInit()
        {
            //远程初始化代码1
            //远程初始化代码2
        }
    }

 

 重构后的代码看上去清晰明了,所有的方法的抽象级别都在一个层次上,使读者一眼看上去就知道Init方法完成了什么样的功能。

 

 

转自:《编写高质量代码改善C#程序的157个建议》陆敏技

以上是关于编写高质量代码改善C#程序的157个建议——建议143:方法抽象级别应在同一层次的主要内容,如果未能解决你的问题,请参考以下文章

编写高质量代码改善C#程序的157个建议——建议141:不知道该不该用大括号时,就用

编写高质量代码改善C#程序的157个建议——建议52:及时释放资源

编写高质量代码改善C#程序的157个建议——建议41:实现标准的事件模型

编写高质量代码改善C#程序的157个建议——建议67:慎用自定义异常

编写高质量代码改善C#程序的157个建议——建议111:避免双向耦合

编写高质量代码改善C#程序的157个建议——建议143:方法抽象级别应在同一层次