您如何记住/组织Rails信息以防止车轮重新发明?

时间:2009-02-03 12:56:27

标签: ruby-on-rails code-snippets

我喜欢和Rails一起工作但是我一直在努力克服自己的低效率:我会花时间实现一些“有用的”功能,以便随后发现它已经在框架中了,如果我知道的话呢!

我的车轮改造的特定领域是

  • 帮助程序和内置类扩展
  • 最近发布的功能可能尚未存在于我的大脑中
  • 插件(Rails插件的分类,如果这样的话有意义,那将是一个福音)
  • 迁移选项
  • 较少使用的佣金任务
  • 几乎所有内容的选项哈希
显然(?)我们不可能一直都记得所有这些东西。有“备忘单”,但除非它们是最新的,否则当它们真正针对旧版本时,它们可能通过显示权威来解决问题。

你怎么做才能减少这种消费税?可以做些什么吗?

我想知道一组大可见图表是否有帮助,虽然善良知道我会把它们放在开放式办公室里。

7 个答案:

答案 0 :(得分:4)

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

  • 我尝试及时了解有关边缘Rails的信息。
  • 我关注了很多博客,并试着在没有其他任何事情的情况下每天都跑过这些标题,只是为了让它留下至少一些微小的足迹。

那是被动的部分。现在为活跃的:

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

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

答案 1 :(得分:2)

这不仅仅是Rails的问题,而是任何框架。我认识的程序员在Delphi工作多年后仍然很惊讶他们找到了他们复制的简单标准函数。

WRT Rails,Mike Gunderloy recently wrote about highlighting text,并以这个明智的花絮结束:

  

值得一提的是偶尔潜入ActionView::Helpers看看你忘记的其他功能是什么。

任何时候我需要做一些我认为应该比这更容易的事情,我会在那里快速检查,以及Google,以确保我不会浪费大量时间。

答案 2 :(得分:1)

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

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

虽然这并没有完全解决问题,但它有很大帮助。

答案 3 :(得分:1)

我浏览了RSS阅读标题中的rails博客,并且足以弄清楚文章的内容。这给了我很好的知识,但非常浅薄。它仍然让我知道那里有什么。就像昨天我看到一篇关于高亮帮手的博客帖子(我不知道它存在。现在我做了,如果我需要它,我知道要找它 - 即使没有深入阅读帖子)。我也打开了我想要在另一个标签中深入阅读的帖子以供日后使用(我曾经使用过ReadItLater,但它已经失控了)当我阅读它们时,我在自己的博客上的帖子中写下笔记更多是为了我自己的利益而不是其他人 - 进入记忆并确保我以后可以找到它。

当我进入未知或被遗忘的领域时,我做的另一件事是,我在这里问一个关于最佳实践或具体细节的问题,即使我认为我知道答案。例如,我记不起the names of the popular plugins for tracking edit histories of records(acts_as_audited和acts_as_versioned)。我在15分钟内得到了答案。

它将独奏编程变成了一个很酷的嘈杂开发商店中的编程,带有桌上足球桌和许多其他知道我不喜欢的东西。

答案 4 :(得分:1)

我倾向于认为我正在解决的大多数类型的基本问题已经被其他人解决了;从假设开始我的想法不是“我如何建立这个”,而是“我在哪里找到它”,当然谷歌,维基和插件和宝石列表都参与其中。我编写的代码非常少,与我的业务领域没有直接关系。

答案 5 :(得分:0)

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

我不认为Rails与其他框架有任何不同......知道事物的位置需要一段时间。您可以做的最好的事情是阅读API文档并查看其中的内容。您不需要学习如何使用它,只需要知道如何使用它,并在需要时了解如何查找它。

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

答案 6 :(得分:0)

我认为消除浪费重新发明轮子的时间的关键是拥有一个非常少的工具来搜索Rails助手/功能。

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