写点什么

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:272381
用户头像

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

关注

评论

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

供应链大屏设计实践

京东科技开发者

数字化人类:人工智能能否复刻大脑的每个细节?

天津汇柏科技有限公司

人工智能 AI

【McCharts】基于鸿蒙ArkTS语法开发的图表组件--折线图

莓创技术

从曼哈顿到龙隐洞天,XeSS 助你决胜游戏战场

E科讯

突破银行 SRE 转型困境,SRE 与 DevOps 团队协作策略

嘉为蓝鲸

DevOps SRE 银行运维

Hologres 计算组实例&分时弹性入门实践

阿里云大数据AI技术

大数据 Serverless 实时数仓 hologres

一文探索物流CEO大屏及供应链大屏是如何做好双11保障

京东科技开发者

人工智能丨领域建模与知识图谱测试用例生成

测试人

人工智能 软件测试

开源啦!!!基于鸿蒙ArkTS封装的图表组件《McCharts》,大家快来一起共创

莓创技术

鸿蒙生态新基建!CPack制品库实现全链路原生支持

嘉为蓝鲸

DevOps 制品库管理 嘉为蓝鲸

软件测试丨智能遍历与模型驱动测试

测试人

人工智能 软件测试

KubeEdge边缘设备管理系列(四):Mapper-Framework视频流处理

华为云原生团队

云计算 容器 云原生

浏览器崩溃的第一性原理:内存管理的艺术

京东科技开发者

Java 转 Go 秘诀大放送!

CodeBuddy

京东商品详情API接口全攻略

tbapi

京东商品详情数据接口 京东API接口 京东商品详情接口

「Trading星周二」 Space精华回顾 | 牛市启动倒计时?五大关键议题激辩与未来展望

TechubNews

加密市场 经济趋势 交易分析

电机行业MES系统功能介绍及实施方案

万界星空科技

mes 万界星空科技mes 电机行业 电机MES 电机工厂

专访金融时报中文网总编:你怎么看 Crypto?

TechubNews

crypto 加密市场 市场趋势

AI赋能的春天!嘉为蓝鲸3.13发布DeepSeek加持研运新品

嘉为蓝鲸

产品发布 嘉为蓝鲸 DeepSeek

信创生态新突破:嘉为蓝鲸OpsPilot携手昇思重构智能运维体系

嘉为蓝鲸

运维 嘉为蓝鲸 #WeOps

嘉为蓝鲸深度参与国家DOMM标准实战培训体系构建

嘉为蓝鲸

嘉为蓝鲸 一体化运维 DOMM

5 分钟搞定 Golang 错误处理

俞凡

golang

多种设备皆可联接!华为云Flexus云会议开箱即用、轻松上手

轶天下事

高清、高效、高性价比,华为云Flexus云会议专为中小企业而生!

轶天下事

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