2011-11-05 51 views
2

我一直是我职业生涯中的大多数Java开发人员,并且开发和维护了一些相当大的代码库。导航一个大型的ruby代码库,像导轨

现在我已经在rails中开发了一段时间了,我已经把我的IDE放在后面了,我想这样开始看实际的rails源代码。我主要使用的是github界面,这实际上相当不错,但我想知道是否有更多经验丰富的ruby开发者提供的技巧和技巧?

我缺少的主要是我的可信日蚀功能,如“查找用法”或“goto implement”。也许一个范例转变是为了...请赐教:P

+0

这取决于你目前的工具链的样子。你有什么编辑解决?例如,我使用vim和rails.vim,以及其他几个vim插件。但对于使用Textmate或其他编辑的人来说,这是无用的。 – JofoCodin

+1

我还没有使用Rubymine,但我期望在任何IDE中,“发现用法”和“goto实现”对于Ruby来说都不会很好,因为动态方法被定义和重新定义。我通常只是使用递归的'grep'在我所有的ruby文件中搜索函数的名字。 –

+0

我会用@DavidGrayson建议和vim/TextMate作为编辑器 – Nakul

回答

1

既然你是Eclipse用户,我建议Rubymine。它给你很多相同的功能,并且与轨道有很好的集成。它对跳转到实现/使用有很好的支持,但这在ruby中比java更难。如果Rubymine无法确定哪个实现是正确的,那么通常会给您一个所有匹配方法的列表。

我个人使用Vi,并没有遇到导航栏项目的麻烦,通常这只是一个惯例和熟悉的问题,只是在足够的时间内处理同一个项目。我默认使用grep或寻找用途等。

0

问题是,像“goto implementation”之类的东西可能需要深入了解运行时。一些方法可能在初始化或混入进程之后才会存在。鸭子打字意味着任何对消息作出反应的东西都是潜在的候选人。

我对IntelliJ(Rubymine)非常满意,但是你不会从Java这样的语言中找到相同级别的导航支持,而这些语言大多数都是事先知道的。它比Java代码,IMO的导航性差。

可以知道,就像明确定义的方法,“显而易见”的电话,将事情等等通航,以及IMO现在的IntelliJ做它最好的,但我没有使用过Eclipse Ruby环境已经有一段时间了,所以现在的情况可能会有所不同 - 但我经常会感到惊讶,因为考虑到情况,它在确实如何做

这就是说,我在IntelliJ,TextMate,Sublime Text 2和Emacs之间来回翻转。由于其单窗格设计,TextMate对我几乎没用。对于快速的东西或小项目,这是足够的。