gpt4 book ai didi

java - Rail 的 'Gotchas' 和学习曲线 - 它会停止吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:53:48 26 4
gpt4 key购买 nike

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




10年前关闭。




几个星期以来,我一直在开发一个新的 Rails 项目,虽然我对这些出色的插件和框架中的一些非常棒的功能感到惊讶……但我也有点失望。我很担心。

我想我犯了一个错误。

我应该继续,还是回到我熟悉的地方? (Java/Spring)

  • 似乎除非您正在寻找“简单示例”,否则在谷歌上搜索规则的异常(exception)情况、特殊情况等确实会影响生产力,并且越来越成为我的常态。
  • 来自主站点、博客、截屏视频等的文档和示例大多已过时。对于那里的每 5-10 个示例,其中 1 个实际上是正确的。
  • 做任何应该“正常工作”的新事物几乎从不做。我尝试遵循文档和示例,但我的结果似乎有所不同,我发现文档和示例中从未提到过的问题。这似乎实际上一直在发生。
  • 我尝试使用 CoffeeScript 并将其与 Rails 集成的经历是一场灾难。每当发生“编译器错误”时都无法看到问题所在,这令人非常沮丧。
  • ActiveRelation 真的很棒,直到您需要进行连接 7 个表的查询。然后它开始崩溃。我认为您可以在 Hibernate 中更快地完成 7 表连接查询,并在您第一次学习时可靠地完成。
  • 在 Rails 中测试实际上非常困难。 “魔法”太多了。由于 Ruby 是动态的,我不知道我需要调用什么来适本地测试一些东西。规则似乎总是有异常(exception)。

    例如,Devise 像您期望的那样工作……直到您想在 helpers 中测试 Devise。它只是行不通,因此您必须在测试中发明设计生成的方法以使测试通过。您不需要为 Controller 执行此操作。

    有一些博客教如何使用 Rails 进行测试,但它们非常琐碎且没有多大帮助。其中一些实际上很糟糕。例如,我发现如何以比我发现的许多博客优越得多的方式有效地测试验证。我只是发现在测试方面我经常独自一人。
  • 当您切换到生产时,为什么图像和样式表无法正常工作?疯了吧。如果你用谷歌搜索,很多人会问这个问题……但是这个框架并不“正常工作”。

    我害怕最终部署这个应用程序。生产版本似乎不像开发版本那样工作。害怕。
  • 出于某种原因,在添加 jquery-rails 和设计之后,在 ajax 请求期间没有通过身份验证 token 。我必须添加 4 行 javascript 代码才能使其工作。这花了我 5 个小时。在 Java 中,因为你有适当的 session ,你甚至不需要考虑这种类型的东西。
  • 测试运行真的很慢。我有大约 780 个测试,它已经比一个有 1800 个测试的 Java 项目花费的时间长得多。
  • 在浏览器中测试应用程序真的很慢。渲染一些页面大约需要 1/4 秒……而且甚至没有那么多 ORM 操作正在进行!即使对于具有 1 个数据库查询的页面,也需要 100-200 毫秒。这太疯狂了。
  • 文档经常过时。例如,试图覆盖 Devise 中的东西是一种痛苦,因为文档实际上告诉我做错了事。只有在谷歌搜索数小时并在另一个论坛上等待 48 小时后,我才能够有人告诉我我需要做什么。我想要做的就是让登录表单拒绝 User.enabled 为 false 的用户。就是这样。事实证明,我覆盖了“主动?”而不是“active_for_authentication?” - 这是 RDoc 中的错误。
  • ORM 的行为非常奇怪,根本不直观。关联新对象时,插入/更新的工作方式不同。它也不会像 Hibernate 那样级联......这让我怀疑它没有跟踪脏对象?如果是...那么为什么默认情况下不设置级联?像这样的事情几乎不是好的默认设置。难道Rails 不应该在良好的默认值方面表现出色吗?

  • 两周后,“陷阱”的数量并没有真正放缓。我真的很担心和害怕。我知道 Java 对陷阱和问题没有免疫力,但我通常每个月遇到 2-3 次问题——而不是一周内遇到 30 次。

    我几乎在想,当您考虑平台的稳定性、速度和可预测性时,使用 Java/Spring 时缺乏敏捷性现在并不是什么负担。你可能会写更多的代码,但你确切地知道发生了什么......你从来没有真正处理过静默失败......而且事情确实会更可靠地工作。

    我开始质疑在这个新项目中使用 Rails。

    最佳答案

    你能做的最好的事情就是掌握“使用 Rails 进行敏捷 Web 开发”,当我几年前开始时,阅读和研究本书中的示例确实帮助我了解事情应该如何工作,它也可以作为每当您想阅读某些主题时,都可以深入研究它。

    最新版本似乎是:
    http://www.amazon.co.uk/Agile-Development-Rails-Pragmatic-Programmers/dp/1934356549/ref=sr_1_1?ie=UTF8&qid=1305991885&sr=8-1

    关于java - Rail 的 'Gotchas' 和学习曲线 - 它会停止吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6082609/

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