プログラムの設計はいくつか本を読んでみたのですが、結局、適当にしてコードを書きながら付け足していくことが多いです。そんなことありませんか。
行き当たりばったりなのですが、もう少しシステマティックに(体系化)できないかなとよく思います。
関数型プログラミングの関連で興味を持った本に、『プログラミングの基礎(浅井健一)』があります。その中にソフトウェア設計を「体系化」する考え方としてデザインレシピというものに興味をもったので、メモしておきます。
ソフトウェア設計の手順です。
- 目的:関数の目的を考え、ヘッダを作成する。
- 例:関数の入出力の例を作成する。
- 本体:関数本体を作成する。
- テスト:作った関数の動作を確認する。
初見では、テスト駆動開発(TDD)と似ていると思ったのですが、ケーステスト作成の前の思考過程がきちんと定式化されている点が参考になると思います。
デザインレシピ入力のWebツールも公開されています。