3

我喜欢使用 Rails,但我一直在为自己的低效率而绊倒:我会花时间实现一些“有用的”功能,但后来发现它已经在框架中,如果我知道的话!

对我来说,车轮改造的特定领域是

  • 助手和内置类扩展
  • 最近发布的功能可能还没有进入我的大脑
  • 插件(Rails 插件的分类,如果这样的事情有意义,将是一个福音)
  • 迁移选项
  • 不常用的 rake 任务
  • 选项散列几乎所有内容

显然(?)我们不可能一直记住所有这些东西。有“备忘单”,但除非它们是最新的,否则当它们真正针对旧版本时,它们可能会通过出现权威来加剧问题。

你怎么做才能最大限度地减少这种消费税?有什么可以做的吗?

我想知道一组大可见图表是否会有所帮助,尽管天知道我会把它们放在开放式办公室的什么地方。

4

7 回答 7

4

这里有一件事是首先要了解特定功能(插件、gem 等)的存在。这就是为什么

  • 我尝试了解有关 Edge Rails 的最新信息。
  • 我关注了很多博客,如果没有别的事情,我每天都会尝试浏览标题,只是为了让它至少在我的记忆中留下一些微小的足迹。

这是被动部分。现在对于主动:

  • 当我浏览新功能/插件时,我尝试至少想象一些用例,在这些用例中它可能对我现在正在做的事情有所帮助——这个练习帮助我记住这件事,因为我将它与我的实际概念联系起来系统。
  • 在我不太严肃的项目中,我真的尝试尝试新事物。
  • 在 SO 上,我经常回答我不确定或我并不真正了解的问题,但它们对我来说似乎很有趣 - 然后我会做一些研究并扩展我对该特定主题的知识。

从长远来看,我认为“大可见图表”不会有所帮助。我只在学习新事物时使用备忘单,这实际上只是短期的事情。正如亚里士多德所说,卓越是一种习惯。

于 2009-02-03T15:09:19.433 回答
2

这不仅仅是 Rails 的问题,任何框架都有。我认识的那些与 Delphi 合作多年的程序员仍然对发现他们复制的简单标准函数感到震惊。

WRT Rails,Mike Gunderloy 最近写了一篇关于高亮文本的文章,并以这个明智的花絮结束:

偶尔看看ActionView::Helpers是值得的,看看还有哪些其他功能潜伏着你已经忘记了。

每当我需要做一些我认为应该比现在更容易的事情时,我都会在那里以及谷歌进行快速检查,以确保我不会浪费大量时间。

于 2009-02-03T15:50:15.590 回答
1

我也面临这个问题——当我第一次开始使用 RoR 时情况更糟。现在经过 1.5 年多,我知道什么是可用的。

基本上我所做的是,如果我使用我知道的部分框架......没什么大不了的。如果我需要做一些我可能必须自己创建的事情,我首先用谷歌搜索它或搜索 Rails API。最近我也开始搜索 github 和一些插件网站,比如 railslodge.com。

虽然这并不能完全解决问题,但它的帮助很大。

于 2009-02-03T15:07:51.450 回答
1

我在我的 RSS 提要中浏览 Rails 博客,阅读标题,足以弄清楚这篇文章是关于什么的。这给了我很好的知识广度,但很肤浅。它仍然让我知道外面有什么。就像昨天我看到一篇关于高亮助手的博客文章(我不知道它存在。现在我知道了,如果我需要它,我知道去寻找它——即使没有深入阅读这篇文章)。我还会在另一个选项卡中打开我想深入阅读的帖子(我曾经使用 ReadItLater,但它失控了),当我阅读它们时,我在自己博客上的帖子中写笔记更多是为了我自己的利益,而不是为了其他 - 进入记忆并确保我以后可以找到它。

当我进入未知领域或被遗忘的领域时,我做的另一件事是在这里提出一个关于最佳实践或具体细节的问题,即使我认为我知道答案。例如,我不记得用于跟踪记录编辑历史的流行插件的名称(acts_as_audited 和acts_as_versioned)。我在 15 分钟内得到了答案。

它把单人编程变成了在那些很酷、吵闹的开发商店之一的编程,那里有一张桌上足球桌和许多其他知道我不知道的东西的人。

于 2009-02-03T15:24:24.927 回答
1

我倾向于假设我正在解决的大多数类型的基本问题已经被其他人解决了;从假设开始,我的想法不是“我如何构建这个”,而是“我在哪里可以找到它”,当然谷歌、wiki、插件和 gems 列表都在其中发挥了作用。我编写的代码很少,与我的业务领域没有直接关系。

于 2009-02-05T16:21:13.200 回答
0

我先写测试。然后编码。有时框架会为我做这件事,而我不必编写代码。:)

我不认为 Rails 与其他框架有什么不同......需要一段时间才能知道事情在哪里。您能做的最好的事情就是阅读 API 文档并查看其中的内容。您无需学习如何使用它,只需了解它的存在并了解如何在需要时查找它。

此外,编写别人已经拥有的代码也不是一件坏事。你从中学习。稍后您只需交换框架 mojo 并查看您的测试是否仍然通过。如果是这样,那么您很好,并且您知道框架的一部分的内部可能是如何工作的。

于 2009-02-03T17:25:07.817 回答
0

我相信消除浪费在重新发明轮子上的时间的关键是拥有一个非常少数的工具来在 Rails 助手/功能中进行搜索。

一方面,一个好的 IDE 选择可以帮助很多。另一方面 - 一个非常好的在线(离线)边缘文档,能够快速搜索它。这些天来,我们的一位俄罗斯 Rails 程序员做了一个:http ://railsapi.com/ 。搜索以非常 MacOS 的风格完成,使其成为快速挖掘的非常好的选择。

于 2009-08-11T12:15:31.310 回答