写点什么

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

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

关注

评论

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

HTML标准第二章总结:HTML的基础设施

水鱼兄

聊聊面试中的过滤器与拦截器

TimeFriends

Mybatis批量插入数据

源字节1号

软件开发 后端开发

crossorigin属性:为什么它是避免tainted canvases的关键?

水鱼兄

问:你是如何进行react状态管理方案选择的?

beifeng1996

React

使用 SAP BTP 创建一个 Spring Boot Java 应用

汪子熙

云原生 SAP Netweaver 10月月更 btp

疫情之后,幸获内推,4面京东拿下offer(Java后台研发岗)

小二,上酒上酒

Java 面试

仅靠七个步骤,4面通过拿offer,终“跳进”字节跳动

小二,上酒上酒

面试 面试题

一文读懂web标准的基石:web IDL

水鱼兄

LinkedList源码分析(三)

知识浅谈

linkedlist 10月月更

632页!我熬夜读完这份“高分宝典”,竟4面拿下字节跳动offer

小二,上酒上酒

Java 面试

Java中的常量和变量

共饮一杯无

Java 10月月更 常量与变量

实时营销引擎在vivo营销自动化中的实践 | 引擎篇04

vivo互联网技术

服务器 架构设计 引擎

开发者 J 有意思|1024 开发者嘉年华活动正式启幕

Jina AI

人工智能 开源 开发者 工程师 1024

Linux策略路由详解

京东科技开发者

数据库 Linux 公有云 云主机 策略路由

WorkPlus移动门户,助力企业信息系统移动智慧互联

BeeWorks

Java的八种基本数据类型

共饮一杯无

Java 基本数据类型 10月月更

【LeetCode】滑动窗口的最大值Java题解

Albert

LeetCode 10月月更

手写一个Redux,深入理解其原理-面试进阶

beifeng1996

React

面试官:说说React-SSR的原理

beifeng1996

React

全球第一!新一代云原生实时数仓 SelectDB 登顶 ClickBench 榜单!

SelectDB

性能测试 Clickhouse 分析型数据库 数仓 SelectDB

找到字符串中所有字母异位词

掘金安东尼

算法 10月月更

一次性学懂Excel中的Power Query和Power Pivot使用

博文视点Broadview

以整数解析为例,如何读懂标准里的算法?

水鱼兄

说说React-Router底层实现?-面试进阶

beifeng1996

React

一次磁盘占用率 100% 的排查记录

悟空聊架构

Docker 磁盘 悟空聊架构

结构化克隆:浏览器的序列化机制

水鱼兄

2022云栖大会|EMAS专项嘉宾领票通道现已开启

移动研发平台EMAS

云计算 阿里云 低代码 云栖大会 行业峰会

详解数仓的锁相关参数及视图

华为云开发者联盟

数据库 后端 华为云 企业号十月 PK 榜

安全专属的IM即时通讯平台,WorkPlus信创国产化解决方案

BeeWorks

搞AI开发,你不得不会的PyCharm技术

华为云开发者联盟

人工智能 代码 华为云 企业号十月 PK 榜

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