java - 将成员函数放在成员变量之前或反之亦然的原因是什么?

标签 java c++ coding-style

给定一个类,以下两种代码风格中的任何一种都有什么推理?

Style A:
class Foo {
    private:
        doWork();

        int bar;
}

Style B:
class Foo {
    private:
        int bar;

        doWork();
}

对我来说,它们是平手。我喜欢样式 A,因为成员变量感觉更细粒度,因此会出现在更一般的成员函数之外。但是,我也喜欢样式 B,因为成员变量似乎以 OOP 样式的方式确定类代表什么。

在这两种风格之间进行选择时,还有其他值得考虑的事项吗?

最佳答案

在 C++ 中,使用类的人通常会在头文件中的代码中查看定义。

在 Java 中,使用该类的人通常(但不普遍)查看从 JavaDoc 注释生成的文档。 IDE 支持样式 B。

因此:

  • 在 C++ 中,我使用样式 A,将公共(public)接口(interface)放在头文件的顶部。
  • 在 Java 中,我使用样式 B,将数据放在方法之上。

关于java - 将成员函数放在成员变量之前或反之亦然的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4649734/

相关文章:

c++ - 如何获取 std::unordered_map 的最后一个元素?

c++ - 取消引用指针与字节移位?

java - Osmdroid -NullPointerException : Attempt to invoke virtual method 'boolean org. osmdroid.views.overlay.Overlay.onTouchEvent

java - 未知错误 - bundle 字符串数组

java - JMS 替代方案

coding-style - Notepad++ 在输入时将前导空格转换为制表符

javascript - 在 JavaScript 事件代码中对回调和参数使用匿名函数而不是命名函数有什么好处?

java - 我收到的错误检查Apache Pig版本 “Error: Could not find or load main class C:\java\lib\tools.jar”

C++ 对类数据成员的引用

haskell - 如何使用 Control.Applicative 编写更干净的 Haskell?