デザインレシピという考え方
現在こちらの本を勉強中のcacaponです。
その中で【デザインレシピ】という考え方が出てきたので共有します😃
デザインレシピとは?
本によると以下のように書かれています。
デザインレシピというのは、プログラムを作る、デザインするにはどうすればよいのかを示すレシピです。
プログラムを作るにあたって指針になるようなものらしいです。
デザインレシピには6つの項目がありそれぞれ考える必要がありそうです。
データ定義
- 入力データの型は何か?
- 出力データの型は何か?
- 構造を持つなら定義する。
目的
作成する関数が何をするものか考えます。*1
- 何を受け取るのか?
- 何を返すのか?
- 型は何か?
考えた内容はコメントで残して、後で目的が分かるようにしましょう。
例
入力例、出力例を作る。
例えば f(x) = x * 2
のような関数の例なら
- In[2] Out[4]
- In[10] Out[20]
- In[0] Out[0]
のように考えることができるでしょう。
ココで出した例が、テスト項目になります。
テンプレート
入力が構造を持つデータや再帰的なデータの場合は、その構造に応じたmatch文を作成するんだそう。
※ここに関してはもう少し調べます。
本体
目的考えた働きをどうやって実現していくか考えていきます。
テスト
例を元にテストを実行します。
テストが通らなかった場合は、構造上間違いがあるので、原因を究明します。
ただ、テストが通った = 完全ではないので注意。
例から漏れている項目があると考えるべき。
これを意識しながら行えば、質の良いプログラムを作りやすくなりそうですね。
まだ、知見が足りてない部分もありますので、引き続き勉強を続けたいと思います。
それではまた😃