使用全局变量将二元函数转换为一元函数值得吗?

问题描述

在 Clean Code 书中他们说:

带有两个参数的函数比一元函数更难理解。例如,writeField(name) 比 writeField(output-Stream,name) 更容易理解。 虽然两者的意思很清楚,但第一个从眼中滑过,很容易沉积它的 意义。第二个需要短暂的停顿,直到我们学会忽略第一个参数。 当然,这最终会导致问题,因为我们永远不应该忽视任何 代码的一部分。我们忽略的部分是错误将隐藏的地方。

Dyads 不是邪恶的,您肯定必须编写它们。然而,你应该 意识到它们是有代价的,应该利用可能的机制 您可以将它们转换为 monad。例如,您可以使 writeField 方法是 outputStream 的成员,因此您可以说 outputStream。 写字段(名称)。 或者你可以让 outputStream 成为当前的成员变量 类,以便您不必通过它。或者,您可以提取一个新类,如 FieldWriter,它在其构造函数中采用 outputStream 并具有 write 方法

在句子中:

你可以让 outputStream 成为当前的成员变量 类,这样你就不必通过它

据我所知当前类的成员变量一个全局变量,这意味着他们以使用全局变量的代价将二元函数转换为一元函数,但使用全局变量一个不好的做法。我的问题是在二元函数上使用全局变量是否值得?为什么?

编辑:成员变量是实例变量,不是全局变量

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...