首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby命名空间规范和约定

Ruby命名空间规范和约定
EN

Stack Overflow用户
提问于 2012-06-22 02:18:37
回答 2查看 441关注 0票数 2

如果我正在为已建立的库编写帮助器,我是应该在它们的名称空间中创建一个TheirLibrary::MyHelper模块,还是应该置身事外,创建自己的::TheirLibraryMyHelper

我认为,为了保持可预测的一致性,库通常有向其名称空间添加扩展的先例,例如Spec::Rails,这是RSpec的rails助手插件,在现有的::Spec名称空间中。

另一方面,我觉得我并不“拥有”其他作者的名称空间,所以我应该向它添加子名称空间吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-22 03:49:21

我会置身于他们的命名空间之外(不管你最终选择如何命名你的扩展命名空间),因为这意味着你不会意外地与他们决定要做的事情发生冲突。

票数 1
EN

Stack Overflow用户

发布于 2012-07-23 09:33:47

环顾四周,我注意到“插件”或“扩展”gem的约定要求如下:

与命名空间Coolthing::Plugin对应的require 'coolthing/plugin'

而其他项目则是

唯一命名空间CoolthingPlugin对应的require 'coolthing-plugin'

通常,只有那些“官方”的名称空间才会嵌入到原始名称空间中。那些来自不同参与方的后续添加应该使用自己的名称空间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11144325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档