【发布时间】:2014-10-06 23:48:34
【问题描述】:
我在 Elixir 中有一个函数,它可以以带有可选标志的状态之一结束:ok、blocked、ok_spawned、阻塞_spawned。 (在这种情况下,“_spawned”是标志。)将来状态和标志的数量可以增加。
我的问题是 - 实现这一点的最佳方法是什么?所以我可以轻松检查标志/整体状态?
我的想法是 Map 或一些元组,其中第一个元素是基本状态,第二个是标志的表示,但我不确定哪个更好。
非常感谢任何想法。
【问题讨论】:
-
我不确定,但您的返回值如此灵活这一事实可能表明存在设计缺陷。也许你的方法做得太多了?对于公共 API 的用户,通常只有两个结果感兴趣:在成功的情况下,约定是返回
:ok或{:ok, return_value}。如果失败,您应该返回{:error, reason}。您希望该方法的使用者如何处理所有这些返回的标志?使用起来似乎太复杂了。
标签: elixir