前言:這不是關於如何在文件中構造代碼。我有這個。這更多的是組織源碼樹的主題。希望有人會說,「這是關於這個話題的一個很好的鏈接。」然而,關於這個問題的第一手意見也是受歡迎的。Ruby程序結構
因此,我已經做了一些關於這個主題的研究,並在簡單的結構上找到大量的材料。我想這個假設是,當你需要處理代碼庫的大小問題時,你已經知道了答案。然而,即使IDE似乎正在進行一場關於這些項目應該如何結構化的神聖戰爭(這不是我想從這個主題開始的)。
Java強制使用該語言的包結構。榮譽。然後,Eclipse允許您使用項目(可能)獨立 - 在本例中我們將它們稱爲「桶」 - 相關代碼的桶。 Intellij在'項目'的單例實例中有着與'模塊'不同但相似的概念。如果你想要另一個項目,你基本上從頭開始。
但是,RubyMine在Ruby應用程序中沒有提供這樣的模塊,默認情況下只想將所有內容都打入根目錄。它允許目錄,所以基本上可以選擇一些任意的樹結構並運行它。這意味着我們的意圖是所有的類都可以訪問項目中的所有其他類。這可能通過使用Ruby的「模塊」來解決,或者可能只是「不要引用那些東西」的榮譽系統模式。因此,簡單地說,我正在構建'foo'和'bar'概念,並且都依賴於'util'類。也許我會將它們部署爲寶石,也許我不會。我可以:
- 將它們全部整合到一個RubyMine項目中,並忽略'foo'和'bar'沒有理由相互認識的事實。
- 把它們放在它自己的RubyMine項目中。這似乎是一個真正的痛苦,如果有任何併發的發展。首先,'util'必須單獨打包,然後作爲外部資源包含在其他項目中。
兩者似乎都沒有特別的吸引力。 Thougts?