`
telephone999
  • 浏览: 7061 次
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

Rails is omakase - 中文版

阅读更多
原作者是 DAVID HEINEMEIER HANSSON, Rails的作者

原文来自于这里,起源见这里

水平有限,可能有些翻译疏漏和错误,还请凑合将就:)

Omakase:お任せ,是源起日本顶级寿司餐馆的点餐方式,无论是食材,菜品,还是用餐顺序,完全由厨师来决定,价格往往非常高昂

现在的世界哪哪都是那种"点菜"式的软件,您要想吃顿饭,且得仔细看遍菜单,再琢磨出来今儿到底想吃嘛:来个我习惯的ORM开开胃,然后是我吃了好几年的模板语言,最后来个路由库当点心。于是,你得提前知道什么合你的口,而且一旦你吃过觉得还不太坏,你会一直吃同样的东西,甚至于不知道这世界上还有别的什么东西可吃。可悲的是,我们现在就是这么消费软件的。

但Rails不是这样的,Rails是omakase: 由厨师们挑选出材料,设计api,然后为你排列使用顺序--完全根据他们的主观来决定,什么才是一套美味的全栈框架。所以,给你呈上的大餐往往是个人色彩鲜明的,而且经常有点诡异离奇,保证不可能老少皆宜。

不过,也会有例外的时候,比如主顾们有时对有些东西过敏,所以我们也允许可接受范围内的调整。你吃了test/unit会长疹子?没关系,用rspec替代吧。你完全不能摄入咖啡因?(coffeescript),好,从Gemfile里干掉那一行。

其实,我们的菜单还接受建议呢,亲!不管是谁提出来的,好主意就是好主意。不过你要记得,友好的建议和来挑事的食客,还是有区别的。比如我有时候得做出这样的回复: "嘿,抱歉我们这里没有热狗,这玩意真的不适合放在我们的寿司菜单上,我知道你不懂鳗鱼是啥,不过我们选择它是有原因的,无论如何,感谢你的建议!"。如果争论只是关于菜单的,那么往往会到此为止。

可是这帮人还没完了,他们继续嚷嚷:"可是我真的讨厌鳗鱼!它在糟蹋我的味蕾!赶紧拿走!!!!!"。Ok,坐下消停会儿

我们,好吧,我,作为Rails这顿omakase体验的主厨,通常会根据我们千锤百炼的味觉和喜好来决定菜色。我可是在这儿干了10个年头了,耗在Rails上的时间估计得有上万小时,这意味着我的品位应该不俗,当然,不一定适合你。

我们可以争执什么才算是"好吃",不过一般的结论是"不爱吃就别吃",特别是对于那些第一次吃寿司的顾客。你的经验越少,你对我们越没有帮助,你的论点越没有份量,尤其是你的表达方式还如此粗鲁无礼和让人反感。

这貌似惹怒了一些人,他们会说:"我的意见和你的一样有价值!"。错,完全不对。你的意见,只对你有价值,对于我们为餐馆设计的菜单来说嘛用没有。喔,对,你还有用脚投票的权利,如果菜单上的东西让你恶心,那你还在我们这儿瞎起什么哄,那边就有个门看见没有?出去的时候别给我甩门就好。

如果你真的想对Rails的菜单设计做出点影响,哥们儿,你得努力的工作。我们这个礼拜刚刚往Rails核心组里加了三个人,他们要么接受命令打杂,要么是"我刚试着做了个新菜式,请尝尝看好不好吃?"的谦虚学徒态度。从来没有人,能够仅仅在Github上写几条评论,发发CoffeeScript的牢骚,就能够影响Rails。

既然这种抱怨是如此的浪费人生和没有意义,那为什么有些人还沉迷于此呢?我得出的一个不成熟的结论是: 这样会让这些人看起来在社区中活跃。他们做不到日复一日的艰辛努力,就在有机会的时候跳出来试图留下些乱糟糟的涂鸦证明自己的存在意义:耶!我尽力了!我表态了!我干倒了...恩...Turbolinks? 等等,我们这个礼拜要搞的好像是CoffeeScript?不对,是Bundler? 草,管他的,反正干倒什么就对了!耶!!!

今天说得够多的了,我们还是得往前看。其实我也不是全都喜欢现在我们提供的菜品,另外还有些材料我实在不了解,所以说不出来我为什么没有选择她们。这种时候,也许我会让我的厨师们来做一些决定。的确,不可能每件事,每样东西都是我的喜好,但是,想让全世界都知道鳗鱼有多好吃,这背后真的没有,也不需要什么阴谋。

By David Heinemeier Hansson on Dec 27, 2012
2
1
分享到:
评论

相关推荐

    rails-dev-box, 面向 Ruby on Rails 核心开发的虚拟机.zip

    rails-dev-box, 面向 Ruby on Rails 核心开发的虚拟机 用于 Ruby on Rails 核心开发的虚拟机简介注意:这个虚拟机不是为 Rails 应用程序开发而设计的,只是为。 这个项目自动设置开发环境,以便在 Ruby on Rails ...

    rails-beginner-s-guide

    rails-beginner-s-guide是Rails 指导手册,帮组学习了解rails开发

    rails应用--导航栏实例工程

    在本项目"rails应用--导航栏实例工程"中,我们将探讨如何在Ruby on Rails框架下构建一个实用的导航栏。Rails是一个流行的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,使得开发过程更加高效且结构...

    rails-documentation-2-0-2

    rails-documentation-2-0-2

    sclo-ror42-rubygem-rails-html-sanitizer-1.0.3-1.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    rails-dev-box:用于Ruby on Rails核心开发的虚拟机

    用于Ruby on Rails核心开发的虚拟机 介绍 请注意,该虚拟机并非为Rails应用程序开发而设计,而仅是为Rails核心开发而设计。 该项目可自动设置开发环境,以在Ruby on Rails本身上进行工作。 使用此虚拟机处理请求...

    rails-react-components-源码.rar

    《Rails与React组件化开发深度解析》 在现代Web开发中,Rails作为Ruby的一个强大框架,以其MVC架构和丰富的生态系统赢得了开发者们的喜爱。而React作为JavaScript库,因其高效的虚拟DOM和组件化思想,已经成为前端...

    rails-documentation-1-2-1.zip

    标题 "rails-documentation-1-2-1.zip" 暗示这是一份关于 Ruby on Rails 框架的文档,版本为 1.2.1。Ruby 是一种面向对象的编程语言,而 Rails 是一个基于 Ruby 的开源 Web 应用程序框架,遵循 Model-View-...

    rails-ftw-v0.18-2.1.5-4.1.8

    rails-ftw-v0.18-2.1.5-4.1.8.exe用于在windows环境下搭建readmine环境

    rails-documentation-1-2-0-rc1.chm

    rails-documentation-1-2-0-rc1.chm

    rails-2.1.0-gem

    Ruby on Rails(简称Rails)是一种基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码的可读性。"rails-2.1.0-gem"是Rails框架的一个特定版本,即2.1.0的gem包...

    rails-chm-2-0-2.rar

    Ruby on Rails,简称Rails,是由David Heinemeier Hansson创建的一个开源Web应用程序框架,它基于MVC(模型-视图-控制器)架构模式,用于快速开发动态网站。Rails以其“约定优于配置”(Convention Over ...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    ### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...

    rails-development-environment-master.rar

    标题 "rails-development-environment-master.rar" 暗示这是一个关于Ruby on Rails开发环境的压缩包。Rails是基于Ruby语言的一个开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,广泛用于构建数据库...

    rails-yelp-mvp-源码.rar

    【标题】"rails-yelp-mvp-源码" 指的是一个基于Rails框架开发的类似于Yelp(美国知名餐饮评论网站)的最小可行产品(Minimum Viable Product, MVP)的源代码。Rails是Ruby编程语言的一个流行Web开发框架,以其“约定...

    rails-playlists-源码.rar

    《Rails播放列表源码解析》 Rails是一款基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,被广泛用于构建动态网站和Web应用。"rails-playlists-源码"很可能是某个开发者或团队分享...

    awesome-rails-gem-zh_CN, Rails 常用 Gem 列表 - Awesome Rails Gem 中文版.zip

    这个中文版的Awesome Rails Gem列表,为国内开发者提供了一个方便的参考资源,使他们能够更好地理解和应用这些工具。 在这个压缩包中,`awesome-rails-gem-zh_CN-master`可能是项目源码或文档的主目录。以下是一些...

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    Ajax-Rails-4-AJAX-Form.zip

    Ajax-Rails-4-AJAX-Form.zip,rails 4 ajax表单示例,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况下...

    rails-event-sourcing-example, 带有RabbitMQ的Rails 事件.zip

    rails-event-sourcing-example, 带有RabbitMQ的Rails 事件 RabbitMQ事件源示例 运行示例 1确保已经安装并运行 RabbitMQ在macosx上,你可以使用 Homebrew 安装 RabbitMQ$ brew install rabbitmq开始使用$/u

Global site tag (gtag.js) - Google Analytics