PAK85_MBAdesagyou20140312_TP_V

データ解析・分析でもなんでも、プログラミングをするときに、肝に銘じておかなければならないことは、ちょっとでもコードを書いたらすぐ実行して確認する、ということです。気持ち的には、一行ずつ確認したいくらいです。

プログラミング初心者は何をすべき?

プログラミングについては、言語ごとにとても分かりやすい入門サイトがたくさんあります。わたしが最初にプログラミングを始めたころと比べて、とても入門サイトが充実していて、だいぶプログラミングの垣根が下がりました。プログラミングの初心者は、そのようなサイトを見て、まずは自分でコードを書いて実行してみましょう。さらには、一つ自分で機械学習・データマイニングの手法の関数・クラスや、何らかのアプリでも作れたら、もう一人前と胸を張ってよいです。

どうしてプログラミング初心者が挫折してしまうのか?

しかし、ここまでたどりつけるプログラミング初心者は少ない。途中で挫折してしまう人がとても多い。わたしも残念でなりません。では、どうして途中でプログラミングをやめてしまうのでしょうか?

それは、エラーがでてプログラムがうまく動かなく、そのエラーの原因・対処法がわからないためです。これでプログラミングがつまらなくなってしまい、プログラミングのための時間をつくろうとしなくなり、やめてしまうのです。実にもったいない。

初心者はコードを一度に書きすぎる

では、どうしてエラーの原因・対処法がわからないのでしょうか?

みなさん、コードを一度に書きすぎなのです。そりゃ10行とか100行とか、たくさん書いてから実行したら、優秀な開発環境を使っていても、その中から原因を特定することは難しいです。

料理も同じですよね。途中に何も確認しないで最後まで作って、できたあとに美味しくなかったとき、

  • まぜるのが足りなかったのか?
  • 水が足りなかったのか?
  • 砂糖を入れすぎたのか?
  • 塩を入れすぎたのか?

など、原因はわかりませんよね。なので、料理も途中でうまく作れているか確認しながらすすめます。料理本にも、まぜたあとに だまがなくなったのを確認してから次に進みます、とか、水をいれて食材が隠れることを確認します、とか確認すべきことが書いてありますよね。砂糖や塩を入れた後は味見もします。このように、その都度確認しながら進めることで、最終的に美味しい料理を作りこむことができるわけです。

1行~数行ごとに確認!

プログラミングも料理もやることは同じです。

1行~数行書いたら実行して確認します。場合によっては、とりあえず変数に適当な値を入れておいて実行します。ここで注意してほしいのは、エラーが出なかったからといって満足してはいけません。具体的に変数の中身を表示させたり、txtファイルやcsvファイルに出力させたりして、自分が期待したとおりに動作しているかも確認しましょう。

この、1行~数行書いたら実行して確認、を繰り返しましょう。この繰り返しにより、最終的に100行とかのコードにすればよいのです。そうすれば、エラーがでたり、期待どおりに動作していなかったときに、直前に書いた1行~数行の中に原因があることが一目瞭然です。そこにしぼって原因を究明しましょう。また、変数の中身を表示させたり、txtファイルやcsvファイルに出力させたりしていますので、その内容を見ることで対処法も検討しやすいのです

関数にしたり、クラスにしたり

場合によっては、一連の処理を関数にまとめたり、クラスを作りながらプログラミングをすることもあるでしょう。むしろ実際はこの方が多いです。この場合でも、1行~数行書いたら実行・確認の繰り返し、はまったく同じです。さらには、関数やクラスができたら、それらの関数・クラスごとに、エラーがでないか、期待通りに動作するか実行して確認しましょう。いわゆるユニットテストです。こうすることで、関数群・クラス群を作りこんでいきます。

でも、めんどくさい

正直、1行~数行ごとに確認するのは、特に慣れてきたときにめんどくさく感じます。でも、必ずやりましょう。長いコードを書いてからエラーになったり、最終的に期待どおりの動作をしなくなったりしたときに、困るのは自分自身です。製品として自分の手を離れたときに、エラーが見つかったら、その人の信頼も失ってしまいます。

急がば回れ、プログラミングをするときはこの精神でいきましょう。

もちろん、1行~数行ごとに実行して、全く問題なく動作するのを見るのは気持ちがいいものです。一歩一歩ですが、着実に進んでいることを実感できます。

まとめ

ちゃんとしたプログラムを作るときに、1行~数行ごとに実行して確認することは必要不可欠です。ときにめんどうに感じることもありますが、自分の子どものようなコードが一歩ずつ着実に成長する姿を見るのを楽しみながら、しっかりと実行・確認しながらプログラミングを進めましょう。

ご案内。

オススメ記事セレクション。

twitterでも発信中。

フォローしていただけると嬉しいです。


無料メルマガでブログにない情報を配信中。

無料メルマガの登録はこちら