写点什么

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

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

关注

评论

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

SpringBoot 整合 数据库连接池(Druid、HicariCP、C3P0等等)

SpringBoot 2 Druid 8月月更

激动!开启轻量化虚拟直播时代!

IT资讯搬运工

业务出海必答题,融云全球通信网络技术挑战破解实践

融云 RongCloud

从零到一,教你搭建「以文搜图」搜索服务(一)

Zilliz

人工智能 机器学习 深度学习

打破数字化盐碱地:传统型企业如何踏稳数字化转型第一步

科技怪咖

B站基于Iceberg+Alluxio助力湖仓一体项目落地实践

Alluxio

B站 iceberg Alluxio 湖仓一体 8月月更

本周四晚19:00知识赋能第七期第3课丨OpenHarmony WiFi扫描仪实现

OpenHarmony开发者

OpenHarmony

将 SAP Spartacus 作为 feature module 进行 Lazy Load 延迟加载时遇到的注入错误分析

汪子熙

typescript 前端开发 angular Spartacus 8月月更

教你使用Jupyter可视化查询语句的语法树

华为云开发者联盟

人工智能

打造耳聪目明的MES系统,你准备好了吗?

科技怪咖

105份墨天轮“国产化迁移”干货文档汇总(含TiDB、openGauss、上云等)

墨天轮

数据库 阿里云 TiDB 国产数据库 达梦

打补丁是什么意思?如何快速对云主机批量打补丁?用什么软件?

行云管家

运维 云主机 IT运维 打补丁

​Black Hat 2022 聚焦软件供应链安全

SEAL安全

网络安全 软件供应链安全

KubeEdge边缘计算在顺丰科技工业物联网中的实践

华为云开发者联盟

云计算 云原生 工业物联网 顺丰

从实验室到用户桌面,深度解析AI 落地实践之路

云智慧AIOps社区

人工智能 机器学习 AI 算法实践 智能运维AIOps

左邻云安全 | 全程守护,让园区安全看得见

科技怪咖

阿里云 ACK 容器服务生产级可观测体系建设实践

阿里巴巴中间件

阿里云 容器 云原生 可观测

Kruise Rollout v0.2.0 版本发布:支持 Gateway API、StatefulSet 分批发布等能力

阿里巴巴中间件

阿里云 开源 容器 云原生 OpenKruise

Gitlab 中 Github import 功能存在远程代码执行漏洞

墨菲安全

计费准确率高达100%,是如何实现的?

科技怪咖

马蹄链Dapp系统开发部署技术

薇電13242772558

dapp

1 分钟在 Serverless 上部署现代化 Deno Web 应用

阿里巴巴中间件

阿里云 Serverless 云原生

“似水无形” 的小程序化技术

Speedoooo

小程序 小程序管理平台 轻应用 快应用 小程序平台

RT-Thread记录(十四、I/O 设备模型之ADC设备)

矜辰所致

RT-Thread 8月月更 ADC

这三道MySQL面试题,99%的人答不出来!

程序员小毕

Java MySQL 数据库 程序员 面试

MobTech ShareSDK Android端微信分享小程序

MobTech袤博科技

微信小程序 android sdk

Docker下Prometheus和Grafana三部曲之一:极速体验

程序员欣宸

Grafana Prometheus 8月月更

保利威荣获「年度最佳直播服务商」!引领视频直播行业创新发展

科技怪咖

秋招涨薪攻略!拿着GitHub标星80k的阿里性能优化笔记,把项目优化个遍

退休的汤姆

Java 阿里 社招 Java工程师 秋招

泰禾智能:智能改变未来,成就工业设备行业佼佼者

科技怪咖

KusionStack 在蚂蚁集团的探索实践 (上)

SOFAStack

开源 技术分享 蚂蚁集团 Kusion kusionstack

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