【发布时间】:2009-03-04 06:44:47
【问题描述】:
当我创建带有返回值的方法时,我通常会尝试进行设置,以便永远不会出现以必须返回某个默认值的方式调用该方法的情况。当我开始时,我经常会编写一些方法来做某事,并且要么返回他们所做的事情,要么如果他们没有做任何事情,就会返回 null。但我讨厌在我的代码中使用丑陋的 if(!null) 语句,
我正在阅读我多年前阅读的实用程序员的 ruby 重新指南,我注意到他们经常返回 self(ruby 的 this),而他们通常不会返回任何内容。他们说,这是为了能够链接方法调用,如本例中使用的 setter,该 setter 返回其设置的属性的对象。
tree.setColor(green).setDecor(gaudy).setPractical(false)
最初我觉得这种东西很有吸引力。有几次我很高兴能够链接方法调用,比如Player.getHand().getSize(),但这有点不同,因为方法调用的对象一步一步地变化。
堆栈溢出如何看待返回值?当您想到返回值时,是否有任何模式或习语会温暖地浮现在脑海中?有什么好方法可以避免挫折和增加美感?
【问题讨论】:
-
哇!我的问候已从这篇文章中删除。这是因为问候与科学无关吗?我通常在帖子开头说“hi”和“z”。在最后。我认为做我自己是可以的,但不是吗?我想我应该停止编造单词并输入“?”在语句的末尾也是这样吗?
-
@Ziggy:是的,如果您以后将这些内容从帖子中删除,我们将不胜感激。谢谢。
-
在这里,我为您修复了一个实际错误。
标签: coding-style methods return-value fluent-interface