able"时,mixins 的命名约定是什么?-6ren"> able"时,mixins 的命名约定是什么?-示例:我有一个 Person 类和一个 Role 类。我想将 Role 和 Person 中的角色功能提取到混合中。我得到了两个 mixins:Actable 包含在 Role 中,Adaptable-6ren">
gpt4 book ai didi

ruby - 在 Ruby 中,当没有正确的英语 "able"时,mixins 的命名约定是什么?

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

示例:我有一个 Person 类和一个 Role 类。我想将 RolePerson 中的角色功能提取到混合中。我得到了两个 mixins:Actable 包含在 Role 中,Adaptable 用于 Person

我有时想不出合适的英文单词。在上面的例子中,适应性似乎更适合角色而不是人,因为角色可以适应,因此是适应性强的。一个更好的名字是 versatile 但这打破了 mixin 名字以 ...able 结尾的惯例。 (虽然它仍然是一个形容词。)

另一个例子是当我想添加一个允许检查的模块时,如果一个人被允许查看其他人。你如何找到以...结尾的名字? Viewable 似乎不合适,可以查看 的人应该是可见的。我现在坚持使用 showable(适合 Controller 中的方法名称)。但话又说回来,可以展示的是人,而不是想要展示的人。

所以我想我的问题是,当模块名称没有以 ...able 结尾的适当英语形容词时,我应该选择另一个不以 ...able 结尾的形容词还是应该给它一个不太合适的名字?

最佳答案

那么前缀怎么样?

CanDoSomethingMoreComplexThanASingleVerb

编辑:虽然我知道我本身并没有提供约定(感谢 arulmr 提出来),Can 命名描述某物的约定是许多公司事实上的本地化命名标准的一部分,因为它允许对您尝试混合的功能进行更详细的描述。例如CanActCanBeCastInPlay 是使用原作者的 PersonRole 上下文的不同属性,更容易感知和理解比 ActablePlayCastable 或其他等效项。

底线:不要只受语言和惯例的限制:)

关于ruby - 在 Ruby 中,当没有正确的英语 "<verb>able"时,mixins 的命名约定是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16603619/

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