java - 转移所有权的方法的命名约定

标签 java naming-conventions transfer getter ownership

考虑以下示例:

class Foo
{
    private Bar x;

    // ...

    public Bar getAndResetX()
    {
        Bar result = x;
        x = new Bar();
        return result;
    }
}

此类方法是否有既定的命名约定?比如yieldXtransferX之类的?

最佳答案

我们过去使用约定 AdoptOrphan 作为前缀,以在方法名称中提供意图(摘自 Taligent 关于 C++ 的书籍)。

Bar b = foo.orphanBar(); // take Bar out of Foo
foo.adoptBar(b); // put it right back in

您可以使用类似的方法来提供对象的所有权线索。坦率地说,尽管我会坚持使用添加删除的Java约定。它们提供了足够的意图,其他程序员不需要阅读解释新约定的注释。

Bar b = foo.removeBar(); // take Bar out of Foo
foo.addBar(b); // put it right back in

关于java - 转移所有权的方法的命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7347869/

相关文章:

Javascript 不适用于 WebView - Android

java - 不同jar包的包命名

c# - 类型的更短命名约定

c - 如何使用C发送HTTP格式的文件

android - Android 中的蓝牙文件传输

java - 如何在 Java 中实现 Ruby 的 ".each"方法?

java - 捕获动态加载图像上的点击事件的最佳方法

mysql - 将Mysql数据库转移到另一台计算机

java - 在网络消息上运行用户的 Java 方法

Java 8 功能接口(interface)命名约定?