2011-11-05 50 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對我幾乎沒用。對於快速的東西或小項目,這是足夠的。