写点什么

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

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

关注

评论

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

[Pulsar] Cumulative Ack原理

Zike Yang

Apache Pulsar 12月日更

模块二作业

浮生若梦

「架构实战营」

2021的科技卦象·离·烈火烹油造车热

脑极体

模块六学习总结

Geek_1d37ea

架构实战营

面试官:元素排序Comparable和Comparator有什么区别?

王磊

java面试

拆分电商系统为微服务

波波

架构实战营

NCF 如何正确创建Xncf并使用(二)

MartyZane

C# 签约计划第二季 NCF DDD框架 Xncf

如何做一款属于自己的VS Code插件?

梁龙先森

签约计划第二季

渐渐

Nydia

架构实战营模块六作业

孙志强

架构实战营

通过写测试用例的方式学习前端知识

小新

学习方法 前端 React 测试用例 dva

架构训练营 - 模块六作业

VegetableBird

Prometheus Exporter (二十四)Kong Metrics

耳东@Erdong

Prometheus kong 28天写作 Metric 12月日更

证书、证书链、CA的那些事

RingCentral铃盛

设计电商秒杀系统

Sky

「架构实战营」

NCF 实战功能(三)

MartyZane

实战 签约计划第二季 NCF DDD框架 Xncf

架构训练营 模块六

dog_brother

「架构实战营」

Linux-内核网络 1

绅鱼片

微服务架构的陷阱:从单体到分布式单体

看山

分布式 微服务架构 指令 事件 签约计划第二季

总结

Sky

2021 年的认知和感悟

卢卡多多

年终总结 28天写作 12月日更

NCF 初识(一)

MartyZane

C# .net 签约计划第二季 NCF DDD框架

How to become a better Android developer

Changing Lin

12月日更

架构实战营 模块六 作业

吴霏

「架构实战营」

架构训练营毕业设计

看,有只猪

架构训练营毕业总结

看,有只猪

模块六作业

Geek_1d37ea

架构实战营

微服务拆分

zjluoyue

火线安全:Log4j2 史诗级漏洞波及全球6万+开源软件

火线安全

安全漏洞 Apache Log4j2

使用 GenStage 构建一套稳定的持续数据处理系统

RingCentral铃盛

模块六作业

心怀架构

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