プログラミングの基礎 > 第1章 はじめに
1.1 デザインレシピ †
正しいプログラムを作るにはどうすればよいか?
本書で提示する方法は「デザインレシピ」を使う方法です。
デザインレシピとは、プログラムを作る、設計するにはどうすればよいのかを示すレシピです。
デザインレシピの考案者 †
p.5で紹介されていますが、「デザインレシピ」という考え方は、フェライゼン(M.Felleisen)らによって提唱されているものだそうです。
「How to Design Programs」という本(英語)で紹介されています。
How to Design Programs: An Introduction to Programming and Computing (The MIT Press) Matthias Felleisen / Robert Bruce Findler / Matthew Flatt / Shriram Krishnamurthi The MIT Press 2018-05-04 ¥ 7,042 |
以下のサイトで全文を読めます。(英語)
https://htdp.org/
参考 †
- デザインレシピ
https://kdmsnr.com/2015/06/05/
「デザインレシピ」という言葉は、浅井健一先生の『プログラミングの基礎』ではじめて知りました。ソフトウェア(特に関数)の設計方法は体系化できるという考えです。
元ネタは有名な「How to Design Programs: An Introduction to Programming and Computing」だそうです。使用している言語はSchemeですけども、考え方は同じです。
- 問題分析(Problem Analysis)
- シグニチャ、目的文、ヘッダ(Signature, Purpose Statement, Header)
- 関数の例(Functional Examples)
- 関数のテンプレート(Function Template)
- 関数の定義(Function Definition)
- テスト(Testing)
ペンシルバニア大学の授業の講義ノートにも似たようなものがありました。上記のデザインレシピを参考にしたと書いてあります。こちらの使用言語はOCamlです。
- 問題の理解(Understand the problem.)
- インターフェイスの形式化(Formalize the interface.)
- テストケースの記述(Write the test case.)
- 求められる挙動の実装(Implement the required behavior.)
浅井先生のスライドでは以下の表記でした。
- 目的:関数の目的を考え、ヘッダを作成する。
- 例:関数の入出力の例を作成する。
- 本体:関数本体を作成する。
- テスト:作った関数の動作を確認する。