どこかで読んだ記事が自分のためになったので、忘れないようにメモ。
プログラミングの仕方を身につけるには
文法を覚えるだけでなく、プログラミングの仕方を身につけるにはどうすれば良いか。とても小さいプログラミングの仕方を分解するとこうなる。
- 作ろうとするプログラムの仕様を把握して理解する
どう確認すれば良いか考える(テストコードまで書ければベスト)
プログラムの流れ(ロジック)を考える(日本語でも良い)
- ロジックをプログラミング言語に従ってコーディングする
(動作確認をした後にコードを読みやすくリファクタリングする)
この中で、3のロジックを考える部分が抜け落ちているから、コピペしてしまうのではないだろうか。
では、ロジックを組み立てる力、すなわち「プログラミング脳」を鍛えるにはどうすれば良いか。
- プログラムの流れを先に考えてから、プログラムを書く癖をつける。
まずは日本語でも良いから、処理の流れを書くようにする。ロジックを考えないとコーディングしてはいけないようにする。筋が通っているかどうかが大事だ。
良い文章を書くには良い文章に触れなければいけない。プログラムも同じことである。ただし、表面を読むだけではだめで、自分の頭の中で実行させてみることが必要。表現を真似るにしても、実際の動きを理解していないと真似はできない。頭の中のコンピュータは訓練で鍛えることができる。その処理速度、記憶容量が増えれば、ある程度の大きなプログラムのロジックでも頭の中で作ることができるようになる。最初は本当に小さなプログラムから初めてみるべきだ。
また、自分が書いたコードを有識者に見てもらうことも良い。頭の中のコンピュータの精度を高めることができる。コピペで作ったものをレビューされても納得感はないから、またコピペで再現されてしまう。少なくともダメなパターンとして蓄積されて、似た書き方は避けるようになるかもしれないが、良いコードが書けるようにはならない。
プログラミングを学ぶ最初に身につけること
頭の中のコンピュータは、処理をさせればさせるほど鍛えられていく。そんな脳内プログラミングをすることがロジックから考える訓練になる。こればかりは1度やれば良い訳ではなく、繰り返さなければ身につかない。
訓練の題材としては、アルゴリズムを作るような問題を解いてみるのも練習になる。今どきは世の中にたくさんのライブラリがあり、アルゴリズムを自分で組むことはないし必要もない。だけど、頭の中のコンピュータを鍛えるには良い。あえてソート(並び替え)など自分で書いてみるのが良い。車輪の再発明をする必要などないし、しないほうがいいと教わるだろう。だけど、練習のためには作ったって良い。
小さなプログラムでも、全部一人で自分の頭で作る経験をした方が鍛えられる。