什么是你的利弊使用:
FooLib::Plugins FooLib::Plugins::Bar
与
FooLib::Plugin FooLib::Plugin::Bar
命名约定?你会用什么或你在用什么?什么是更普遍的使用在同事中?
解决方法
使用:
module FooLib end module FooLib::Plugins end class FooLib::Plugins::Plugin; end #the base for plugins class FooLib::Plugins::Bar < FooLib::Plugins::Plugin; end class FooLib::Plugins::Bar2 < FooLib::Plugins::Plugin; end
或用不同的单词:
module FooLib module Plugins class Plugin; end #the base for plugins class Bar < Plugin; end class Bar2 < Plugin; end end end
还安排这样的文件:
- foo_lib/ - plugins/ - plugin.rb - bar.rb - bar2.rb
这是how Rails does it(所以这是Rails方式).即查看Associations命名空间和所有类形成关联命名空间的Associations::Association class(即Associations::SingularAssociation).