把握行业变革关键节点,12 月 19 日 - 20 日,AICon北京站即将重磅启幕! 了解详情
写点什么

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

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

关注

评论

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

基于飞桨图学习框架的空间异配性感知图神经网络

飞桨PaddlePaddle

人工智能 百度飞桨

文心一言 VS 讯飞星火 VS chatgpt (83)-- 算法导论8.1 4题

福大大架构师每日一题

福大大架构师每日一题

JavaScript原型链污染

互联网工科生

JavaScript 前端 js

创新医疗:人工智能引领健康未来

测吧(北京)科技有限公司

测试

NineData X SelectDB 联合发布会,8月30日即将上线!

NineData

实时数仓 数据复制 SelectDB 产品架构 NineData

langchain中的LLM模型使用介绍

程序那些事

人工智能 AIGC langchain

一文让你简单知道银行建设堡垒机的意义

行云管家

网络安全 银行 堡垒机

性能专家深度解读:常见的压测模型

优测云服务平台

性能测试 压力测试 云平台 性能瓶颈 云平台技术

3种OC渲染透明背景的方法

Finovy Cloud

学习 自学 渲染 建模 渲染器

来文心中国行!专家面对面解读大模型产业实践及AI场景突围

飞桨PaddlePaddle

人工智能 百度飞桨 百度AI 文心一言 文心大模型

印刷行业MES系统解决方案

万界星空科技

MES系统 印刷

Databend 开源周报第 108 期

Databend

为什么 Higress 是 Knative 入口网关的最佳实践?

阿里巴巴云原生

阿里云 云原生 Higress

软件测试/测试开发丨Selenium 高级定位 CSS

测试人

CSS Python 程序员 软件测试 selenium

OpenHarmony设备截屏的5种方式

OpenHarmony开发者

OpenHarmony

通过AOP拦截Spring Boot日志并将其存入数据库

华为云开发者联盟

数据库 开发 华为云 华为云开发者联盟 企业号 8 月 PK 榜

大数据平台数据安全解决方案就看行云管家!

行云管家

大数据 数据安全 大数据平台

直播预约丨《实时湖仓实践五讲》第一讲:企业为什么需要实时湖仓?

袋鼠云数栈

直播 实时湖仓

OpenHarmony组件复用示例

OpenHarmony开发者

OpenHarmony

Karmada 结合 coreDNS 插件实现跨集群统一域名访问

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

【收藏】制作艺术二维码,用 Stable Diffusion 就行!

阿里巴巴云原生

阿里云 云原生 Stable Diffusion Stable

得物推荐引擎 - DGraph

得物技术

人工智能 推荐引擎 企业号 8 月 PK 榜 DGraph

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