大規模プロジェクトのコード編成 - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

大規模プロジェクトのコード編成

コード編成が重要な理由

大規模な AWS CDK プロジェクトでは、高品質で明確に定義された構造を持つことが重要です。プロジェクトが大きくなり、サポートの対象となる機能やコンストラクトの数が増えるにつれて、コードナビゲーションはより難しくなります。この難しさが生産性に影響を及ぼし、開発者のオンボーディングを遅らせることにもなりかねません。

規模に見合ったコード編成の方法

高いレベルの柔軟性と可読性を持つコードを実現するには、コードを機能に基づいて論理的に分割することを推奨します。このような分割は、ほとんどのコンストラクトがさまざまなビジネスドメインで使用されているという事実を反映するものです。例えば、フロントエンドアプリケーションとバックエンドアプリケーションの両方が AWS Lambda 関数を必要とし、同じソースコードを消費する可能性があります。ファクトリーでは、作成ロジックをクライアントに公開せずにオブジェクトを作成し、共通のインターフェイスを使用して新しく作成されたオブジェクトを参照できます。コードベースで整合性のある動作を作成するための効果的なパターンとして、ファクトリーを使用できます。さらに、ファクトリーは信頼できる単一のソースとしても機能し、コードの繰り返しを避け、トラブルシューティングを容易にします。

ファクトリーの仕組みをよりよく理解するために、自動車メーカーを例に考えてみましょう。自動車メーカーは、タイヤ製造に必要な知識とインフラストラクチャを持っている必要はありません。自動車メーカーはその専門知識をタイヤの専門メーカーに外注し、必要に応じてそのメーカーにタイヤを注文すればよいのです。同じ原則がコードにも当てはまります。例えば、高品質の Lambda 関数を構築できる Lambda ファクトリーを作成しておけば、Lambda 関数を作成する必要があるときはいつでも、コード内の Lambda ファクトリーを呼び出すことができます。同様に、これと同じアウトソーシングプロセスを使用してアプリケーションを切り離し、モジュール型コンポーネントを構築できます。

サンプルコードの構成

次の図で示す TypeScript サンプルプロジェクトには、すべてのコンストラクトや共通機能を保存できる共通フォルダーがあります。

共通フォルダー

例えば、コンピューティングフォルダー (共通フォルダー内にあります) には、さまざまなコンピューティングコンストラクトのあらゆるロジックが格納されます。新任の開発者は、他のリソースに影響を与えることなく、新しいコンピューティングコンストラクトを簡単に追加できます。他のすべてのコンストラクトは、内部で新しいリソースを作成する必要はありません。これらのコンストラクトが共通コンストラクトファクトリーを呼び出すだけでよいのです。ストレージなど他のコンストラクトも同様に編成可能です。

設定には環境ベースのデータが含まれるため、ロジックを保存している共通フォルダーから切り離す必要があります。共有するフォルダー内には、共通の設定データを格納することを推奨します。また、ユーティリティフォルダーを使用して、すべてのヘルパー関数とクリーンアップスクリプトを提供することも推奨しています。