如何解决使用全局变量将二元函数转换为一元函数值得吗?
在 Clean Code 书中他们说:
带有两个参数的函数比一元函数更难理解。例如,writeField(name) 比 writeField(output-Stream,name) 更容易理解。 虽然两者的意思很清楚,但第一个从眼中滑过,很容易沉积它的 意义。第二个需要短暂的停顿,直到我们学会忽略第一个参数。 当然,这最终会导致问题,因为我们永远不应该忽视任何 代码的一部分。我们忽略的部分是错误将隐藏的地方。
和
Dyads 不是邪恶的,您肯定必须编写它们。然而,你应该 意识到它们是有代价的,应该利用可能的机制 您可以将它们转换为 monad。例如,您可以使 writeField 方法是 outputStream 的成员,因此您可以说 outputStream。 写字段(名称)。 或者你可以让 outputStream 成为当前的成员变量 类,以便您不必通过它。或者,您可以提取一个新类,如 FieldWriter,它在其构造函数中采用 outputStream 并具有 write 方法。
在句子中:
你可以让 outputStream 成为当前的成员变量 类,这样你就不必通过它
据我所知当前类的成员变量是一个全局变量,这意味着他们以使用全局变量的代价将二元函数转换为一元函数,但使用全局变量是一个不好的做法。我的问题是在二元函数上使用全局变量是否值得?为什么?
编辑:成员变量是实例变量,不是全局变量
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。