見出し画像

9日目。関数よもやま話

こんにちは。
今日は関数について読むだけの日とします。
なお、関数にはまだ「戻り値を返す」機能があり、それを使うと数学の関数のような使い方ができます。後日必要になった時に説明しますね。

関数とは

一連の処理に名前をつけたもの
プログラミングはたくさんの小さな関数を作ることと言ってもいいくらい良く作ります

関数を作る時に気にしてほしい点

・関数やパラメーターに何をするのかが良くわかる名前をつけること
・関数に分けるの面倒くさいなぁと思わないこと

関数を作るタイミング

・一連の処理が長くなって名前をつけられそうな塊が1つと少し以上見えた時
・なんかこの処理前にも書いたなと感じた時

大事なこと

プログラミングは小さな関数を組み合わせて作っていって欲しいのですが、
 準備 - 本番 - 後始末
と分けられることを、ひとつの関数で書いてしまうこともできるので、というかそのほうが楽に書けるので、特に独学で学んでしまうと誰からも指摘されないので、そういう長い関数を書いてしまう癖がついてしまうようです。

例えば、市販の入門書では基本的に「hello world」を行う main 関数を書くことから始めます。関数を学ぶまではそれで良いのですが、関数の学習後も全部 main関数に書くように練習を続けるはやめたほうが良いです。
問題の解決に相応しい名前の関数(1日目ならhelloworld関数)を作って、main関数はそれを呼び出すだけ。として練習することを強くお勧めします。

一連の処理をいくつかの処理に小分けして適切な名前をつけるという力は、将来もしプログラマになった時にとても期待される力なのです。

なぜかというと、プログラムを作るという作業はチーム作業なんです。プログラムは書くだけでなく、他のメンバーの書いたプログラムを読むことにも多くの時間を割かなければならないのです。

自分の書いたプログラムにはバグが含まれます。プログラムに潜むバグは書いた本人には見つけにくいという特性があります。必ず他の人に読んでもらわないと危なくて使えません。

皆さんは長い説明書を読むのはお好きですか? 読むの大変と言われないように小さく分けることに慣れましょう。

また、プログラマでなくても、一般的に大きな問題に取り組む時に役立つ力をつける練習になるはずです。

問題を分けて小さくする

科学の子アオヤマ君がお父さんから教えてもらった問題の解き方3原則のひとつめ
ペンギン・ハイウェイ 森見登美彦著より

当然の疑問

どのくらい小さな関数に分ければ良いの?
できるだけ小さくです。分けた後で分けすぎたと感じたら合体させればよいくらいの気持ちで。でも、今思っているより分けるってのは難しいですよ。
練習が必要です。

次回予告

Aボタンを押したらビームを上にむけて発射するみたいことをやってみましょうか。繰り返し(ループ)処理で遊んでみましょう。

→ 10日目。ループで弾発射!

いいなと思ったら応援しよう!