【问题标题】:What is the best way to arrange variables and methods in a class?在类中排列变量和方法的最佳方式是什么?
【发布时间】:2010-12-21 03:15:00
【问题描述】:

我通常这样安排我的变量和方法:

class MyClass {
    // public variables
    // public methods
    // private methods
    // private variables
}

我想知道在可读性方面定义函数和变量的最佳安排是什么?

编辑:类中的枚举和类定义呢?

【问题讨论】:

    标签: class variables methods coding-style readability


    【解决方案1】:

    像这样:

    class MyClass {
        // private fields
        // public methods
        // private methods
    }
    

    您不应该有任何公共字段。请改用属性。

    StyleCop 有一个set of rules on suggested code order。见SA1201:

    在类、结构或接口中,元素必须按以下顺序定位:

    • 字段
    • 构造函数
    • 终结器(析构函数)
    • 代表
    • 活动
    • 枚举
    • 接口
    • 属性
    • 索引器
    • 方法
    • 结构

    SA1202:

    为遵守此规则,相同类型的相邻元素必须按访问级别按以下顺序定位:

    • 公开
    • 内部
    • 受保护的内部
    • 受保护
    • 私人

    如果您使用 StyleCop,它会在您违反这些规则时发出警告。

    【讨论】:

    • 为什么私有字段高于公共方法?我一直认为,当有人查看类定义时,他们会对公共方法而不是私有字段更感兴趣。将私有字段放在顶部意味着读者将不得不忽略一部分代码并向下滚动以查看他们感兴趣的内容。
    • 只对公共接口感兴趣的人可以阅读类文档。任何需要查看源代码的人都会对实现感兴趣。此外,一些工具会自动在类的底部添加新方法。如果将私有字段放在底部,它们可以移到中间。
    猜你喜欢
    • 2017-04-26
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    • 2013-06-18
    • 2021-07-06
    • 2022-06-16
    • 2022-01-01
    • 2017-11-01
    相关资源
    最近更新 更多