写点什么

rails_best_practices:轻松运用 Rails 最佳实践

  • 2009-11-22
  • 本文字数:804 字

    阅读完需:约 3 分钟

在日前结束的 Kungfu Rails 大会上,来自台湾的著名 Rails 人张文钿(ihower)为大家带来了一个关于Rails 最佳实践的分享,演讲结束后Rails3 的核心开发者Yehuda Katz 主动索要幻灯片,其内容之精彩已不言而喻。

会后, Bullet 插件的作者黄志敏(flyerhzm)根据 ihower 演讲的内容,制作了一个能够自动检查违背最佳实践代码的 Gem,名为 rails_best_practices

rails_best_practices 是一个 Gem,它会根据 ihower 在 Kungfu Rails 大会上的 Rails 最佳实践的演讲内容,检查 Rails 应用程序文件的质量。它是一个静态代码解析工具。

rails_best_practices 的安装和使用都非常方便,只需简单两条命令就能知道代码中何处需要修改:

复制代码
sudo gem install rails_best_practices --source http://gemcutter.org
rails_best_practices .

最新的 0.3.3 版本中,rails_best_practices 已经完成了大部分最佳实践的,使用者可以自行配置要检测的条目,目前支持的最佳实践有:

Lesson 1. Move code from Controller to Model - Move finder to named_scope

  • Use model association
  • Use scope access
  • Add model virtual attribute
  • Replace Complex Creation with Factory Method
  • Move Model Logic into the Model

Lesson 2. RESTful Conventions - Overuse route customizations

  • Needless deep nesting
  • Not use default route

Lesson 3. Model - Keep Finders on Their Own Model

  • Love named_scope
  • the Law of Demeter
  • Use Observer

Lesson 4. Migration - Isolating Seed Data

  • Always add DB index

Lesson 5. Controller - Use before_filter

Lesson 6. View - Move code into controller

  • Move code into helper
  • Replace instance variable with local variable

Ruby5 不久前在 2009 年 11 月 17 日的 Podcast 中介绍了 rails_best_practices,而 railscasts.com 的 Ryan Bates 也已开始关注该项目,相信随着 rails_best_practices 的日益完善,会有更多的人投来关注的目光。

2009-11-22 23:272296
用户头像

发布了 135 篇内容, 共 61.6 次阅读, 收获喜欢 43 次。

关注

评论

发布
暂无评论
发现更多内容

社区规划|隐语开源社区新年规划及寄语(附演讲视频)

隐语SecretFlow

隐私计算 开源社区 隐语 数据要素流通

关键帧缓入缓出曲线调节控制操作AE脚本 Kease for mac

Rose

solidity案例详解(二)众筹合约

BSN研习社

区块链 Solidity

聊聊在不确定环境下的个人成长

Phoenix

网站被攻击有什么办法?

德迅云安全杨德俊

技术标准|隐语技术标准的 What & Why & How

隐语SecretFlow

技术标准 隐私计算 数据要素流通

1 月 Web3 游戏行业概览:市场实现空前增长

Footprint Analytics

区块链游戏 gamefi

HarmonyOS SDK 助力新浪新闻打造精致易用的新闻应用

HarmonyOS开发者

HarmonyOS

聚焦大模型!隐语技术团队研究成果被 ICASSP 与 ICLR 两大顶会收录

隐语SecretFlow

隐私保护 数据安全 大模型 隐语

已解决org.springframework.context.NoSuchMessageException异常的正确解决方法,亲测有效!!!

小明Java问道之路

小艺上线新春限定版!丰富玩法一起“花式”迎龙年

最新动态

国内第一个开源免费电子签章系统发布了

开放签开源电子签章

开源 电子签章 开放签

跨境电商新风潮:充分发挥海外云手机的威力

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机

Navicat Premium 15 :专为简化数据库的管理及降低系统管理成本而设计

Rose

影响2024年Web3赛道的三大事件

TechubNews

当我们一起走过 2023|Apache Doris 年度时刻盘点

SelectDB

揭秘海外云手机的诸多优势

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机

PS插件-模拟真实投影拖尾阴影工具 Shadowify v1.0.1

Rose

AE脚本-真实三维立体文字标题排版空间翻转组合动画 TypeMonkey3D

Rose

AE脚本-智能快速图层对齐工具 Align Pro

Rose

敏捷产品是双轨开发而非双轨制

ShineScrum

Flink 2.0 状态存算分离改造实践

Apache Flink

鸿蒙星河版启航!系统级原生智能实现应用「零成本」AI化

新消费日报

TitanIDE v2.8.0正式发布,模板市场来袭!

行云创新

ide CloudIDE 代码编辑器 云端IDE 云端IDE+大模型

【视频】小甲鱼零基础入门学习Python(全96集)

Geek_bbbdb0

Python

EMQX Enterprise 5.3 发布:审计日志、Dashboard 访问权限控制与 SSO 一站登录

EMQ映云科技

AI创业创新的三个误区及应对之道

算AI

人工智能 创业 AI 创新

支付宝花呗分期如何接入

盐焗代码虾

支付宝 经验分享 花呗分期

说说开放签电子签章开源的这一年

开放签开源电子签章

开源 电子合同 年终总结 电子签名 电子签章

完蛋!我把AI喂吐了!

有道技术团队

人工智能 大模型 QAnything

【视频】互联网Java工程师面试突击训练(三季)

Geek_bbbdb0

Java 面试

rails_best_practices:轻松运用Rails最佳实践_Ruby_丁雪丰_InfoQ精选文章