私はSchemeインタプリタ(EOPL1)のテキストを使って作業しています。問題の大部分は、フィーチャの実装または既存の実装の変更です。いくつかの問題は以前の問題に依存しています。インタプリタの操作テキスト - 演習間のコードの依存関係を管理するにはどうすればよいですか?
私は、各問題のインタプリタとテストケースを、各エクササイズのインタプリタ全体をコピーして貼り付けることなく使用したいと思っています。以前は以前のコードをロードしてからさまざまな関数を再定義してみましたが、これは悪いことです:現在ロードされているコードを知るのは醜いですし、モジュールに小さな変更を加えるとコードの重複を排除しませんバグ(例えば、struct
定義が再定義されるとき)。それは少し扱いにくいです。
#ifdefsまたはそれに相当するものがたくさんあるモノリシックファイルを作成したくありません。これはVCSブランチ(たくさんのたくさんの)VCSブランチの正式なユースケースですか?そうでない場合、私は何をすべきですか?
(謝罪この質問のためのタグが適切でない場合。)
バージョンコントロールのエキスパートではありませんが、完全な回答は投稿しませんが、軽量な分岐を持つDVCSの完璧な使用例のようです。 Gitはこの問題をうまく処理しますが、それはやや急峻な学習曲線を持っています(私はまだそれがありますので、完全な答えではなくコメントです)。私はGitの専門家が完全な答えを与えることができると確信しています。 –