PalmNeko / minishell

pair project for minishell
MIT License
0 stars 0 forks source link

進め方 案 #38

Open nytsdayo opened 3 days ago

nytsdayo commented 3 days ago

実装とテストの順番がごっちゃになってしまったので整理も兼ねてのご相談になります。

今の状況

設計が終わり、実装する段階

案として考えていること

①テストケースを一通り洗い出してテストケースのレビュー -> 実装に入る ②テストケースもコードもどんどん書いていく

想定としてどっちだっけな〜〜〜って確認です

よろしくおねがいします

PalmNeko commented 3 days ago

もともと、②(テストケースもコードもどんどん書いていく)という想定でしたが、 どうにもTDD(テストを作成してからコードの作成)の方が早くタスクが完了するらしいです。 よって、①と②の折衷?の③を提案します。

③テスト作成 -> コードの作成

テストは関数単位で作成するのがよいと思います。 とにかく、実装時に先にテストを作成した後、実装すると早いようです。

今は、pytestを使用することは難しいと思うので、googletestだけになるかなとも思います。

レビューはIssue単位でプルリク送ってもらうのがよいと思っています。

PalmNeko commented 3 days ago

すでに、テストのISSUEを作成してもらっているので、それはプルリクを送ってもらっていいと思っています。 より細かく自分が想定する開発の流れは以下です。

  1. ISSUEを設計単位で作成する。(builtin, lexer ...)
  2. IssueのCreate Branchを行う。
  3. (2)のブランチで、一つの関数を決めテストを作成する。
  4. そのテストに合うように、実装を行う。その際、必要な関数が出てくれば、そのテストも先に作成する。
  5. テストが通り次第コミットする。
  6. 作成する関数が無くなるまで3を繰り返す。
  7. 作成し終わり次第、プルリクを作成する。

本当は、関数ごとにIssueを作成してプルリク送るのがよいと思いますが、おそらく大変です。