gpt4 book ai didi

ruby - "Command-Query Separation"规则的异常(exception)情况?

转载 作者:数据小太阳 更新时间:2023-10-29 08:39:04 25 4
gpt4 key购买 nike

Command-Query Separation “指出每个方法都应该是执行操作的命令,或者是将数据返回给调用者的查询,但不能同时是这两者。换句话说,提出问题不应该改变答案。”

a = [1, 2, 3]
last = a.pop

此处,在 Ruby 中,pop 命令返回从数组中弹出的项目。

这是一个命令在一个方法中查询的例子,它似乎有必要这样做。

如果是这种情况,拥有一个本质上既是查询又是命令的方法真的有代码味道吗?

最佳答案

堆栈弹出是 CQS 的一个众所周知的异常。 Martin Fowler注意到它是打破规则的好地方。

我会说在这种情况下这不是代码味道,但一般来说代码味道。

关于ruby - "Command-Query Separation"规则的异常(exception)情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15891172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com