【问题标题】:Naming in Rails and STI: When I have Reports (abstract) and ReportTemplates, what should "real" reports be called?在 Rails 和 STI 中命名:当我有报告(摘要)和 ReportTemplates 时,应该如何称呼“真实”报告?
【发布时间】:2016-03-03 02:45:23
【问题描述】:

我有一个系统,管理员可以创建报告模板,用户可以根据它们创建“真实”报告。

在Rails 的单表继承机制中,“抽象”基础模型为Report < ActiveRecord::Base,模板模型称为ReportTemplate > Report。现在我需要为报告的具体实例命名,例如ConcreteReport > Report,但我不喜欢“ConcreteReport”。

有没有更好的措辞?我想到了像ReportItem、ReportInstance...这样的名字,我更喜欢它们,因为它们以Report开头(而不是以它结尾,就像ConcreteReport一样),这更好,因为它们在文件浏览器中组合在一起。但我还是觉得他们很糟糕。

我还考虑了一个 AbstractReport 基类,然后简单地将 Report 用于“具体”报告,但随后我必须使用 Rails 的默认值(要使用的表名等)进行调整,我'宁可避免。

所以任何建议都非常欢迎!

【问题讨论】:

  • 看起来你应该使用命名空间。一个 Report 命名空间,你会很好地使用 Report::Item 等。

标签: ruby-on-rails oop abstract sti wording


【解决方案1】:

我的第一反应是低估这个问题,因为它似乎忽略了这个工具的全部意义,人们在这个工具中就最常见的在用户中重复出现的问题提出问题。

缺乏一个好的命名确实是开发人员之间经常遇到的一个常见问题......但在这种情况下,这对于您的案例来说非常具体,我看不出它将来会对任何人有什么帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多