スクリプトを組むときは処理内容を箇条書きすると捗る理由
こんにちは。継続の錬金術士なおキーヌです。
ブログ毎日更新は117日目になります。
最近ゲームプログラミングよりの記事ばかりになっていたので
ゲームから少し離れて基礎になるプログラミング初心者向けの記事でも書きましょう。
プログラミングとは、スクリプティングの集合体だということを過去に話しました。
スクリプトとは、一連の処理手順をまとめたものです。
プログラミングをするとなると、必然的にスクリプトを組まざるを得ないということです。
今回はそんなスクリプトを組むために箇条書きをすると捗る理由を紹介します。
箇条書きをするとなぜスクリプティングが捗るのか
結論からいうと箇条書き1行=やるべき処理。
となるのでプログラミング初心者特有の何をしたらいいかわからないを解消できます。
箇条書きをするには最終的にどうなりたいのかを考える
箇条書きをするにも、そのスクリプトで何をしたいのかが明確にならないと箇条書きできません。
例えば与えられた二つの値を受け取って比較し、
値が高いほうを返すという関数を作る場合は下記の通りの例になります。
- getHigherNumberという関数名にする(名前はなんでもOK)
- 引数を2つ設定する
- 関数の中で1つ目と2つ目の引数を比較するための条件式を作る
- 高いほうほ引数をreturnで返す
という風になります。
簡単なスクリプトなので短いですが、複雑なスクリプトでも同じようなことをするだけです。
英語が苦手だと言う人ほど、このやり方でスクリプトを考えると簡単に組めます。
箇条書きをするとやるべきことが明確になる
先ほどの例をみてもらったらわかるのですが、最終的にどんな動きをするスクリプトにしたいかを考え、スクリプトの内容を日本語箇条書きすると何をすればいいかが明確になりますね。
スクリプト内容を箇条書きするのは日本語でプログラミングしているのと同じことです。
英語だと小難しく見えますが、日本語にしてみると意外と単純なのがプログラミングなのです。
プログラミングは自分が日本語に翻訳してやれば楽勝
もう少し詳しく書くと、スクリプトを箇条書きすると「なにをするか」が明確になるので
それに対応する処理をプログラミング言語のリファレンスを見て探し出します。
例えば、先ほどの例でいうと2つの数値を比較するという処理があったと思います。
比較してどちらかを選ぶというのはプログラミングではif分を使いますね。
コードで書くと
if (num1 < num2) {
return num2
}
else {
return num1
}
このようになります。
以上のことから完成品→分解→分解したものを日本語化→対応する処理を見つける→組み立てる→完成!となります。
このやり方を続けていると、何をするときに何を使えばいいかと言うのが知識として積み重なっていくので、日本語に翻訳せずともいきなりプログラミングの処理を組み立て始められるようになります。
英会話と同じですね。
いちいち頭の中で日本語に翻訳してから英語に再翻訳して喋るのでレスポンスが遅れます。
英語は英語で理解すれば早いようにプログラミングも同じようにすればスクリプトを組むのが早くなります。
頑張って作った処理は、実はすでに誰かが作って無料で公開してたりするので
そう言うときは素直にライブラリに頼ってしまってもいいかもしれません。
ですが、頼りすぎると成長しづらくなります。
ライブラリに頼りすぎるといざという時に対処できない?
スクリプトをまとめて1つのライブラリにして、誰でも無料で使えるようにしてくれるのがプログラミングの世界のいいところですね。
仕事では時間短縮のためにライブラリを使って納品物を完成させるということは、
大企業でも普通にやっていることなので積極的に使っていきましょう。
車輪の再発明は時には必要な理由
車輪の再発明とは、すでにあるものを自分で1から作ろうとする行為です。
正論を言ってしまうと時間の無駄だからです。
しかしプログラミングの場合は仕組みを理解するために、時には車輪の再発明をするべきです。
特にゲームプログラミングにおいては車輪の再発明はプログラミング技術向上にもなりますし、
時々ここを変えたらゲームに使えるんじゃないか?っていう処理も出てきたりします。
明らかに解読できないレベルの高いライブラリに関しては、使った方が良いですが
自分でも組めそうなレベルのものは、一度自分で組んでみて既存のライブラリとどう違うのか比較するのも成長になりますよ。
著作権(ライセンス)に気をつけろ
ライブラリに限らず人が作ったものは必ず著作権が付与されます。
無料で公開しているが商用で使わないでくださいというものも多く、
仕事で使用する際は必ずライセンスを確認して使うようにしましょう。
成功している人間ほど箇条書きで行動している
プログラミングに限らず、成功している人は行動を箇条書きして淡々とこなしていくので成功します。
頭の中で判っていて書き出さない人ほど、ダラダラと過ごして何も成果を出せていません。
プログラミングにおいては作品を生み出さないと本当に意味がありません。
ダラダラとプログラミングしている人は、一度1日で何かを作るという訓練をしてみるといいですよ。
その時に箇条書きした時としていないときで分けて調べると、
圧倒的に箇条書きをした方が早くプログラミングが終わります。
というのも何をするかをあまり考えなくていいので、コーディングに集中できるからですね。
それでは。