大規模なラケット プロジェクトを構築する方法に関する一般的なガイドライン ( Go コードの書き方に相当) はありますか?
2 に答える
あなたの質問は大規模なRacketプロジェクトの構築に関するものですが、リンクの例Goコードの書き方は主にパッケージの作成方法に関するものです。これらは必ずしも同じではありません (ただし、大きな Racket プログラムを「コレクション」または「パッケージ」などの異なるソース ディレクトリに分割することはできます)。とにかく、両方の部分に対処するには:
大規模な Racket プロジェクトを構築する方法: Asumu の回答は、適切なリンクを提供します: How to Program Racket。特に、モジュールについて説明しているセクション 3「コードの単位」を参照してください。また、Racket 自体のソース コードで見られる手法の 1 つは、モジュールが、他のモジュールからの機能だけに存在し、それらを「再提供」することです。言い換えれば、このようなモジュールを使用して、他のモジュールをチャンクし、それらを構造内の「レイヤー」として選択的に公開できます。さらに、Racket には、問題のドメインに適合する場合はクラスシステムがあり、ジェネリックスがあります。
require
provide
ある種の「インターフェース」または「プロトコル」戦略がある場合。もっと。実際、Racket には、大規模なプロジェクトを構築するために利用できる非常に多くのテクニックがあります。Racket パッケージの作り方:興味深い質問です。歴史的に、Racket は Planet と呼ばれるものをパッケージ マネージャーとして使用してきました。最近では、新しいパッケージ システムがあります。まだ公式にはベータ版ではありませんが、多くの人がすでに実際の作業に使用しています。そのための現在のドキュメントは、Go doc とはスタイルが異なりますが、Package Management in Racket Beta です)。
あなたは一般的なガイドラインを求めましたが、これは少し制限がありません。大規模なプロジェクトをどのように構成するかについて検討している特定の選択肢がある場合は、より明確な答えを得るために、それらについて 1 つずつ尋ねてみてはいかがでしょうか?