我最近与我的一位朋友进行了讨论,他也是一名 RoR 开发人员。我们讨论了应该如何管理 Rails 模型。就我个人而言,我喜欢在默认命名空间中只保留根模型(例如 User、Article、Bill 等),而依赖模型会转到具有根名称的模块(例如 User::Profile、User::Activity)它们关联的模型。
另一方面,我看到很多项目在默认命名空间中有 100 个模型,称为 user_profile、user_activity 等。从 Java (Spring) 开发来看,java 社区倾向于将类组织在包中,并将它们按逻辑分组,我觉得这很吸引人。
所以问题是:在模块中对模型进行分组是否有任何缺点(除了关系定义中的额外 :class_name )以及人们通常不这样做的任何具体原因吗?