ruby-on-rails - Ruby on Rails 中的不良做法

标签 ruby-on-rails

很难说出这里问的是什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。如需帮助澄清这个问题以便重新打开它,visit the help center .




11年前关闭。




我正在寻找 Ruby on Rails 中的一些不良做法示例,以演示不该做什么。

我最大的优点是在模型 after_save 钩子(Hook)上使用 update_attribute。

Object.update_attribute(:only_one_field, "Some Value")  

由于这是一个非常开放式的问题,我将等待一到两周,然后选择投票最多的答案作为答案。

玩得开心!

最佳答案

  • 没有使用 attr_protected 的质量分配过多
  • 使用太多插件 - 有太多的 gems,Rails 有太多的插件可以在你的应用程序中使用。但是,当您使用 gem 或插件时,您很少了解您的代码是如何运行的(除非您实际查看源代码,而大多数人从未这样做过)。这是一个巨大的问题。您不知道如何正确调试代码,插件和 gem 相互冲突,安全性成为主要问题等等。因此,我始终建议您编写所有自己的代码。当然,Devise 非常适合进行身份验证,但你能告诉我它是如何工作的以及运行了哪些查询吗?你能控制优化吗? (我不是在挑选 Devise,只是展示了一个许多 RoR 开发人员都熟悉的清晰示例)/
  • 保留不需要的页面/ Action - 很多 Rails 开发人员使用脚手架(因为它很好),但他们不会费心删除不需要的 Action 。就像添加 :only => [] 一样简单或 :except => []在您的路线文件中,但大多数人从不这样做!我不知道有多少 Rails 网站因为人们没有限制 delete 而被黑客入侵或损坏。行动
  • 试图反对 Ruby - 来自另一种语言的开发人员通常在使用“Ruby 方式”时遇到困难。最显着的示例之一是具有非递增或非整数主键。
  • Controller 太多,模型不够——Rails 有一个“胖模型,瘦 Controller ”的原则,太多的开发人员都打破了这一原则。
  • 违反 MVC - 访问 params在模型中,试图将东西侵入 Controller 等。
  • 不更改默认的 Rails 唯一 session token (实际上不是随机的)
  • 编写草率的代码——Ruby 有这种让代码看起来可读的好方法。如果您来自 Java 或 PHP 甚至 Python,那么在您学习 Ruby
  • 之前,您的代码会很丑陋。
  • 说 Rails“是一种语言”或“我在 Rails 中编写代码”——当我听到有人说“我在 Rails 中编写代码”或“Rails 是我最喜欢的语言”等时,绝对肯定会让我误会。语言。 Rails 是 framework建立在 Ruby 上。这与安全性等无关,但如果你开始说 RAILS 是一种语言,你真的会激怒很多 RUBY 开发人员。这是一个框架。
  • 比较 PHP 和 Rails - 不要这样做。同样,PHP 是一种语言,Rails 是一种框架。比较它们是不公平的。 (您可以比较 Ruby 和 PHP 或 Rails 和 CodeIgnitor 或 CakePHP 等)
  • 没有正确捕捉错误——如果它可能出错,有人假设它会出错,并提前计划
  • 未能优化查询 - 这绝对让我丧命。 Rails 不会强制你像 PHP 那样了解 SQL(在 ORM 之前像 Doctrine),所以 Rails 应用程序往往是 SLLLLOOOOWWW 除非开发人员真正意识到你可以优化查询(连接说什么??)
  • 使用过多的生成器 - 您应该能够在不使用生成器的情况下创建一个类( Controller 、模型、测试、 View )。
  • 将 Rails 用于大型系统 - 是的,你们中的大多数人不会喜欢这个,但是如果你在 Rails 中构建前端和后端会发生什么?现在...
  • 有一个奇怪的线索 - 我很生气,因为人们实际上并不知道 has_many关系有效(只是 21914232 个愚蠢的 Rails 开发人员示例之一)!
  • 不评论代码
  • 依赖 Rails 而不是 SQL 或 DOM (javascript/html) 来执行功能
  • 关于ruby-on-rails - Ruby on Rails 中的不良做法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4800796/

    相关文章:

    ruby-on-rails - Ruby on Rails : cannot install FFI 1. 1.5 和捆绑程序无法继续

    ruby-on-rails - Rails FactoryGirl 定义语法

    javascript - 如何使用 jquery 和 javascript 只返回数据而不是 html?

    ruby-on-rails - Rails 的 ActiveRecord::Migration 的外键?

    javascript - 如何防止 jQuery onclick 事件中的 Ruby 方法在页面刷新时执行

    ruby-on-rails - 设计不填写resource.errors 登录

    ruby-on-rails - 这个 rails 3 .build 方法到底在做什么?

    javascript - 由多个外部元素触发的主干 View

    ruby-on-rails - 如何在 Ruby on Rails 中更改路由名称

    ruby-on-rails - rvm 安装 1.9.3 失败