Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

新しい機能を追加してみよう #11

Closed
sotetsuk opened this issue Oct 7, 2020 · 0 comments · Fixed by #12
Closed

新しい機能を追加してみよう #11

sotetsuk opened this issue Oct 7, 2020 · 0 comments · Fixed by #12

Comments

@sotetsuk
Copy link
Owner

sotetsuk commented Oct 7, 2020

以前、GitHub上での開発は基本的に次のような流れを一つのサイクルと考えることができると説明しました。

  1. main/master ブランチを最新のものに更新して、そこから新しいブランチを切る(PRを作る)
  2. 新機能のユニットテストを実装して、テストを落とす
  3. 新機能を実装して、テストを通す
  4. PRを main/master にマージする

CIが導入されたので、このサイクルを繰り返すことによる本格的な開発の準備が整いました。今回はこの一つのサイクルを、既存の fizzbuzz 関数に機能追加をするという形で実際に体験してみましょう。

1. 新機能の仕様を決め、テストを書く

ここで、新機能は fizzbuzz 関数で、3や5の代わりに別の数字を指定できるようにすることとしましょう。ブランチを新しく切って、テストを追加し、

image

関数の入力引数を変更しましょう。

image

2. テストが落ちることを確認する

この段階では、テストが通らないことをPyCharmでテストを実行するか、PRを作成してCIで確認しましょう(スクリーンショットはPRを作成し、CIで確認しています)。

image

3. テストが通るように修正を実装する

fizzbuzz 関数の中身を修正して、新しい機能を実際に実装します。

image

4. CIが通っていることを確認してマージする

変更が最初に実装したユニットテストで通るようになったことを確認して、 main に変更をマージしましょう。

image

目次

  1. プロジェクトを初期化しよう
  2. 仕様を決めて、ユニットテストを追加してみよう
  3. ユニットテストが通るように本体を実装してみよう
  4. (Optional) doctestを導入してみよう
  5. 新しい機能を追加する前に、CIを導入してみよう
  6. [現在] 新しい機能を追加してみよう
  7. [つぎ] ライブラリとして使えるようにしてみよう
  8. CLIツールとして使えるようにしてみよう
  9. (Optional) 便利な外部ライブラリをインストールして使ってみよう (Pytest編)
  10. (Optional) 便利な外部ライブラリをインストールして使ってみよう (Click編)
  11. 型チェックを使ってみよう
  12. しっかりとしたREADMEを書こう
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant