yurippeeee / ocaml

0 stars 0 forks source link

デザインレシピ #2

Open yurippeeee opened 3 years ago

yurippeeee commented 3 years ago

関数定義のデザインレシピ ①目的 : ( 目的 : 入力…を受け取り、出力…を返す ) ( func : int -> int -> … -> int ) のようなヘッダーを記述し、       let func a b … = 0 のような関数の出だしを作成する。 ②例 :  let test1 = ( func 1 2 … 10 = 0 ) のような作成した関数に望まれる入力・出力の例を記述(ユニットテストの作成) ③本体 : let func a b … = a + b + …       のような目的を実現するプログラムを記述する ④テスト : ②で作成したテストを使って③の関数が望む動作をするか確認する。

yurippeeee commented 3 years ago

条件分岐のデザインレシピ ① 関数定義の①、②を作成 ② テストを実行 ③ if x > 0.0 then 0.0 else 0.0 のように、場合分けを作成し、処理には適当な数字を書いておく ④ テストを実行 ⑤ まだ処理を記述していない条件の処理を1つ記述する ⑥ テストを実行 ⑦ ⑤〜⑥を記述していない条件がなくなるまで繰り返す。

yurippeeee commented 3 years ago

構造データのデザインレシピ 関数定義の入力の一部が構造データ(組、レコード、リストなど)の場合は、必ずその中身を取り出すmatch文を作成し、 一度テストを実行して構文があっているかを確認する

yurippeeee commented 3 years ago

データ定義のデザインレシピ ( 〇〇のデータ ( いろは、にほへ、とちり)を表す型 ) のようなヘッダーを記述し、 type teigi = { iroha : string ( いろは ) nihohe : int ( にほへ ) tochiri : float ( とちり ) } のようにデータ定義を作成する

データ定義を必要とする関数の場合は、 データ定義 目的 例 テンプレート 本体 テスト の6項目のデザインレシピで作成する

yurippeeee commented 3 years ago

再帰関数のデザインレシピ ①(* int listは

yurippeeee commented 3 years ago

関数のテンプレートは、入力データさえ決まれば機械的に記述できる