zoukankan      html  css  js  c++  java
  • 编写高质量代码改善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个建议》陆敏技

  • 相关阅读:
    ConnectionUtils
    设置组件内容模板和头部模板
    设置idea 代码模板
    Win10 安装流程 Maven
    IDEA: Error:java: 无效的源发行版: 9
    eclipse js的自动提示
    SQLserver SQL语句自动格式化工具的调出
    java计算两个n阶矩阵相乘
    JSP页面输出数据库表格
    threadpool 的配置实用
  • 原文地址:https://www.cnblogs.com/jesselzj/p/4753569.html
Copyright © 2011-2022 走看看