今回はプログラミングにおける問題解決能力を高める2つのテクニックについて、まとめておきたいと思います。
自分にとっては目から鱗だったので、自動化については早速取り入れていきたいと思っています。
今回はざっと箇条書きでまとめておきますので、詳細気になる方は「プログラマー脳」という書籍の10章をみてみてください。
自動化
自動化とは、特定のスキルを何度も練習して、それを何も考えずにできるようになることです。
例えば本を読む、靴紐を結ぶなどは考えなくてもできると思います。これが自動化されている状態です。
同様にプログラミングのスキルの自動化を行うことで、より複雑な問題を解決できるようになります。
プログラミングのスキルを自動化するには、プログラミングに関する潜在記憶を強化する必要があって、主に2つの方法があります。
- 習得したいスキルを利用した、少しずつ違った新しいプログラムをたくさん書くこと。
- ゼロからプログラミングするのではなく、既存のプログラムを改良してみること。
範例
範例と書きましたが、要は「他の人がどのように問題を解決したかじっくりと研究すること」です。
※他の人がどのように問題を解決したかという解決策のことが、範例と呼ばれるそうです。
ちなみに自力で問題を解くよう求められたグループと、解き方を説明した範例を一緒に提示して問題を解くように求められたグループでは、後者の方が圧倒的に成績が良かったそうです。
つまりどうやって解くよということを教えてもらった人の方が、よく物事を吸収できるということですね…。場合によりそうな気もしますが…。
ちなみに範例を増やしたり、範例を研究するためにできることは、主に以下の3つの方法があるそうです。
- ペアプロを行う
- githubを探検する
- ソースコードに関する本やブログを読む
どれもすぐに始められそうな気がするので、ちょっとずつ進めたいと思います。以上です!