はじめに:これは、ファイル内でコードを構造化する方法に関するものではありません。私はそれを持っている。これは、ソースツリーの編成の話題です。うまくいけば、誰かが、 "ここでは話題に大きなリンクがあります"と言うでしょう。しかし、主題に関する直接の意見も歓迎します。Rubyプログラムの構造
私はこのテーマについて少し掘り下げて、単純な構造でたくさんの素材を見つけました。私は、あなたがコードベースのサイズの問題に対処する必要があるときは、すでに答えを知っていることを前提としています。しかし、IDEでも、これらのプロジェクトをどのように構造化すべきかについて聖戦を行っているようです(これは私がこのスレッドで始めたものではありません)。
Javaは、言語でパッケージ構造を適用しました。そのための功績。 Eclipseでは、プロジェクトを使用して(潜在的に)独立性を持たせることができます。この例では、関連するコードのバケットを「バケット」と呼びます。 Intellijは、「プロジェクト」のシングルトンインスタンス内で、「モジュール」とは異なるが概念は類似しています。別のプロジェクトが必要な場合は、本質的にゼロから始まります。
しかし、RubyMineはRubyアプリケーションにそのようなモジュールを提供しておらず、デフォルトではすべてをルートディレクトリにスラムしたいだけです。これは、ディレクトリを許可するので、基本的には任意のツリー構造を選択して実行することができます。これは、すべてのクラスがプロジェクト内の他のすべてのクラスにアクセスできるようにすることを意味していました。これは、Rubyのモジュールを使用していくらかの解決策があるかもしれません。あるいは、「そのものを参照しないでください」という名誉システムのパターンかもしれません。
したがって、私は 'foo'と 'bar'コンセプトを構築していて、どちらも 'util'クラスに依存していると言います。多分私はそれらを宝石として配備するでしょう、多分私はそうしません。
- それらをすべて1つのRubyMineプロジェクトにスラムし、 'foo'と 'bar'が互いに認識しているという理由を無視します。
- それぞれを独自のRubyMineプロジェクトに入れます。並行開発があれば、これは本当に苦しいようです。まず、 'util'は別々にパッケージ化され、他のプロジェクトに外部リソースとして組み込まれなければなりません。
どちらも特に魅力的ではありません。 Thougts?