自由拡張
欲しい機能から始める
ここまでは、こちらが用意した機能を作ってきました。今回は自分が欲しい機能を1つ、要件定義から完成まで通します。おこづかい帳を実際に使う人として、何が足りないかを考えるところが出発点です。
候補はいくらでもあります。前月比、予算オーバーの警告、使いすぎたカテゴリの指摘、週ごとのペース。どれでもかまいませんが、1回で作れる大きさに切ることだけ守ってください。
要件を3行で書く
思いついた機能を、そのまま AI に渡してはいけません。先に3行書きます。
プレーンテキスト
何のため 先月より使いすぎたカテゴリに気づきたい
入力 今月と先月のカテゴリ別合計
出力 増えたカテゴリ名のリストこの3行が書けないうちは、要件が固まっていません。書けないまま頼むと、AI が固めます。 返ってきたものを見て「そうじゃない」と思うことになりますが、そう思えるのは要件があなたの頭の中にはあるからです。頭の中にあるなら、書けるはずです。
判断が要る箇所を潰す
3行書いたら、決めていない箇所を探します。上の例なら次のとおりです。
プレーンテキスト
増えた の基準は 1円でも増えたら入れるのか、一定額以上か
先月に無かった 新しく増えたカテゴリはどう扱うか
並び順 増えた額の順か、名前の順かこの3つは、指示に書かなければ AI が決めます。決められること自体は悪くありません。悪いのは、決められたことに気づかないまま採用することです。書き出せば、少なくとも自分が決めたことになります。
完成の条件を先に言う
最後に、何ができたら完成かを書きます。
プレーンテキスト
先月に無かったカテゴリも「増えた」に含める。
増えた額が大きい順に並べる。
該当が無いときは空のリストを返す。これは受け入れ条件です。第3章でやったものと同じですが、自分で考えた機能に対して自分で書くのが今回の違いです。要件を書く力は、任せる範囲を広げる力そのものです。
演習
上の例をそのまま作ります。今月と先月のカテゴリ別合計を受け取り、支出が増えたカテゴリを返す関数です。境界の扱いは記事のとおり決めてあります。指示に落とし込んでください。
完成条件
- 触ってよいのは kakeibo.py だけです
- 戻り値はカテゴリ名の文字列のリストにしてください
- 先月に無かったカテゴリの扱いと並び順を指示に書いてください
- findIncreased 関数の戻り値で採点します