プロジェクトおよび大規模なコード ベースの操作

プロジェクトを使用する利点

ソース コード用の Eclipse プロジェクトを作成して使用することをお勧めします。プロジェクトを使用すると、次のような利点が得られます。

  • 時間の節約や生産性の向上に役立つ IDE の数多くの機能を最大限に活用できます。プロジェクトなしでファイルを使用すると、コンテンツ アシストの提案や構文チェックなどのエディターの機能を十分に活用できません。
  • IDE で行った変更の詳細がプロジェクト ファイルに保存されます。
  • .cobolBuild プロジェクト ファイルは Ant ファイルです。これらを使用すると、プロジェクトのファイルを Eclipse の外部 (コマンド ライン、ビルド スクリプト、CI システムなど) でビルドできます。

以下のセクションでは、特に多数のファイルを扱う場合のプロジェクトの作成および構成に関する推奨事項について説明します。

大規模なプロジェクト

大規模なコード ベースや大規模なプロジェクトの定義は、アプリケーションを構成するファイルの数およびサイズ、コード ベースの複雑さおよび依存性、マシンの性能など、さまざまな要因に依存します。一般的には、大規模なプロジェクトには数百から数千のファイルが含まれ、多くの場合、Eclipse でプロジェクトをロードしたり、ソース コード内を移動したり、編集、コンパイル、デバッグを行ったりする際にパフォーマンスの問題が生じます。

以降では、大規模なコード ベースを扱う際のコードの構成と IDE のパフォーマンスの最適化に関する推奨事項およびベスト プラクティスを紹介します。

プロジェクトの構成

プロジェクトの構成に関するヒントを以下に示します。これらは、アプリケーションが多数のファイルで構成されている場合には特に有効です。

推奨事項 利点
すべてのコードを 1 つの巨大なプロジェクトにまとめるのではなく、互いに依存する複数の小さなプロジェクトを作成する。

プロジェクトを小さくすると、次のような利点が得られます。

  • 管理が容易になる
  • すばやく IDE にロードできる
  • すばやくコンパイルできる

さらに、エディターの応答時間も短くなります。

作業中のソース ファイル専用のプロジェクトを作成する。 これにより、プロジェクトを小さくすることができます。
アプリケーションの機能領域ごとにプロジェクトを作成し、必要に応じて依存関係を作成する。 これにより、プロジェクトが小さくなり、アプリケーションの論理構造がわかりやすくなる、変更が必要な領域だけを簡単に編集できる、などの利点が得られます。
コピーブック ファイルをソース コードのプロジェクトではなくコピーブックのプロジェクトに保存する。 これらのプロジェクトは、ソース ファイルを含むその他のプロジェクトのビルド パスに依存プロジェクトとして追加できます。コピーブック プロジェクトはコンパイルされないため、処理時間とリソースを節約できます。
  • これにより、IDE でコピーブックを処理してファイルの依存関係を解決する必要がなくなるため、パフォーマンスが向上します。
  • これにより、プロジェクトを小さくすることができます。
使用していないプロジェクトを閉じる ([プロジェクト > プロジェクトを閉じる] をクリック)。 これにより、Eclipse が使用するメモリの量を減らすことができます。
ネットワーク ドライブのソース ファイルやコピーブックを使用しない。 ネットワーク ドライブは、仮想ローカル ドライブにマップされたリモート フォルダーです。NFS/Samba 接続タイプに関連付けられているため、RSE 接続に比べてパフォーマンスが低下します。ローカル フォルダーのファイルを使用するか、ファイルがリモート マシン上にある場合は、RSE 接続タイプを使用してリモート プロジェクトを作成してください。
COBOL JVM アプリケーションに対してフォルダーおよびパッケージを使用して、プロジェクト内のコードを整理する。 これにより、階層構造を作成してプロジェクト内のファイルを簡単に整理できます。ファイル間の移動も容易になります。
プロジェクトの場所を基準とする相対パスをプロジェクトのプロパティで使用する (ビルド出力のパス、リンク リソースのパスなど)。 これにより、プロジェクトを他のマシンに移植できるようになります。

1 つのプロジェクトに保存するファイルの数を制限する

1 つのプロジェクトに保存するファイルの推奨最大数を厳密に規定するのは困難です。この数は、次のような、特定の開発シナリオに関連するさまざまな要因に依存します。

  • ファイルおよびプログラムのサイズと、その複雑さおよび相互依存性
  • コピーブックの数およびサイズ
  • 同じプロジェクトで作業する人数
  • プロジェクトがマネージ プロジェクトかネイティブ プロジェクトか
  • アプリケーションでインクリメンタル リンクを使用するかどうか
  • ソース コードの既存の構造

プロジェクトを小さくすることで、さまざまなパフォーマンスの問題を回避できます。プロジェクトが大きくなるにつれて、次のような問題が生じます。

  • Eclipse 内のユーザー エクスペリエンスが低下する
  • プロジェクトの管理が難しくなる
  • プロジェクトのロードやリビルドに要する時間が長くなる
  • バックグラウンド構文チェック、コード分析、ファイルのコンパイラ指令のスキャン ([Determine Directives] を使用) の実行時間が長くなる

ワークスペースに保存するプロジェクトの数を制限する

ワークスペースにあまり多くのプロジェクトを保持しないようにすることをお勧めします。その理由は、1 つのプロジェクトに含めるファイルの数を制限する理由と同じです。

ワークスペースに保存するプロジェクトの推奨最大数を厳密に規定するのは困難です。プロジェクトの数を少なくすることで、さまざまなパフォーマンスの問題を回避して、以下の時間を短縮できます。

  • Eclipse のプロジェクトのロード
  • プロジェクトのリビルド (特に依存関係がある場合)
  • バックグラウンド構文チェックの実行
  • 参照の解決
  • ファイルのコンパイラ指令のスキャン ([Determine Directives] を使用)

ワーキング セットを使用する

Eclipse でワーキング セットを作成して使用すると、ワークスペースに少数のプロジェクトのみを表示して作業できます。これにより、Eclipse に表示するプロジェクトを絞り込むことができます。

現在のワーキング セットに含まれているプロジェクトのみをビルドすることもできますが、そのワーキング セットにファイルが存在するすべてのプロジェクトがビルドされます。

詳細については、「Working Sets」を参照してください。

プロジェクトを移植可能にする

プロジェクトを複数の開発チームの間で簡単に共有できるようにします。

  • プロジェクトでローカル マシンへのハードコーディング パスを避けるために相対パスを使用する。
  • 既存のプロジェクトを Eclipse にインポートする際に [Copy projects into workspace] を無効にする。たとえば、ソース制御管理システム (SCM) を使用している場合、ワークスペース内のコピーではなくサンドボックス内のプロジェクトを編集します。これにより、すべての変更が確実に SCM リポジトリにコミットされます。
  • 実行およびデバッグの構成とブレークポイントを共有する。これにより、複数のユーザーの間で環境の一貫性が確保されます。これらを SCM に保存して、開発チームと共有できます。

    構成またはブレークポイントをエクスポートするには、次の手順を実行します。

    • [ファイル > エクスポート > 実行/デバッグ > 起動構成] または [ファイル > エクスポート > 実行/デバッグ > ブレークポイント] をクリックします。

    ブレークポイントをインポートするには、次の手順を実行します。

    • [ファイル > インポート > 実行/デバッグ > 起動構成] または [ファイル > インポート > 実行/デバッグ > ブレークポイント] をクリックします。

    ワークスペース内の実行またはデバッグの構成を次の手順でエクスポートすることもできます。

    1. [Run > Run Configurations] をクリックします。
    2. 実行またはデバッグの構成の [共通] タブで、[Shared file] をクリックします。
    3. 起動構成を保存するフォルダーを指定して、[適用] をクリックします。

個々のファイルおよびフォルダーのみをリンクする

プロジェクトにソースをリンクする場合、使用可能なすべてのソース ファイルをリンクするのではなく、使用するソース ファイルおよびフォルダーのみを個別にリンクします。

リンクされたファイルを使用する際には、ディスク上でソース ファイルの近くにある物理フォルダーにプロジェクトを作成することをお勧めします。これにより、リンクに使用される相対パスの複雑さが軽減され、プロジェクトの移植性が向上します。または、構成が容易になるように、プロジェクトへのパスに置き換わるワークスペース変数を作成します。

たとえば、ソース ファイルが /path/source にある場合は、プロジェクトを /path/projects に作成します。

ソース制御管理システムを使用する

ソース制御管理システム (SCM) を使用してアプリケーションのソースを保存および共有することをお勧めします。SCM を使用すると、さまざまな利点が得られます。

  • 複数のユーザーが同じコード ベースで個別に作業できる。
  • ソース コードをチェックアウトしてローカル マシンで作業できる。これにより、別のマシンに接続してリモート接続で変更を加える必要がなくなるため、リモート接続によるパフォーマンスへの影響を回避できます。
  • SCM サンドボックス内のプロジェクトが Eclipse ワークスペースにインポートされる。サンドボックスを更新すると、変更が直接ワークスペースに反映されます。

共有環境での作業を容易にするには、プロジェクトを移植可能にするための推奨事項を参照してください。