このリポジトリは、Pythonを用いた開発トレーニングの資料で、こちらの開発チュートリアルの一部です。 想定読者は、Pythonの文法やGitの使い方は一通り勉強したが、実際の開発経験があまりない方を想定しています(学部生など)。
目次に沿って読み進めながら、このリポジトリの内容を再構築することで、開発において重要な次のスキルが身につくと想定しています。
- Issue/PRベースのGitHub上での開発の仕方
- ユニットテストを使った開発の仕方
- CIを使った開発の進め方
- Pythonコードのパッケージングの仕方
- PythonコードのCLIツールとしての切り出し方
- プロジェクトを初期化しよう
- 仕様を決めて、ユニットテストを追加してみよう
- ユニットテストが通るように本体を実装してみよう
- (Optional) doctestを導入してみよう
- 新しい機能を追加する前に、CIを導入してみよう
- 新しい機能を追加してみよう
- ライブラリとして使えるようにしてみよう
- CLIツールとして使えるようにしてみよう
- (Optional) 便利な外部ライブラリをインストールして使ってみよう (Pytest編)
- (Optional) 便利な外部ライブラリをインストールして使ってみよう (Click編)
- 型チェックを使ってみよう
- しっかりとしたREADMEを書こう
A Fizz Buzz program available as Python package and CLI tool.
$ make install
fizzbuzz
function can transform a number following the Fizz Buzz rule.
>>> from fizzbuzz.fizzbuzz import fizzbuzz
>>> fizzbuzz(3)
'Fizz'
>>> fizzbuzz(5)
'Buzz'
>>> fizzbuzz(15)
'FizzBuzz'
>>> fizzbuzz(2)
'2'
fizzbuzz-cli
can receive any number of arguments.
$ fizzbuzz-cli 3 5 15 2
Fizz
Buzz
FizzBuzz
2
If no arguments are passed, it receives numbers from stdin.
$ seq 1 100 | fizzbuzz-cli
1
2
Fizz
...
See help message for further usage.
$ fizzbuzz-cli --help
Usage: fizzbuzz-cli [OPTIONS] [NUMS]...
Fizz Buzz program. If no arguments are passed, it reads numbers from
stdin.
Options:
--fizz INTEGER Number corresponds to Fizz.
--buzz INTEGER Number corresponds to Buzz.
--help Show this message and exit.
MIT License