プログラミングの学習し始めは楽しいです。自分の作ったものが
動くようになる。物づくりの楽しみですね。でも、本格的な
プログラムを作り出すと、どんどんプログラムの規模が大きくなって
きます。大きくなってくると、バグが発生したときに原因はどこか
や、自分が作ったプログラムでも、何をやっている処理か分からなく
なるときがあります。でも、少しのコツを心がけていれば
プログラムの規模が大きくなってもスムーズにプログラミングを
行うことができます。
もくじ
- 初心者が最初につまづくこと
- 対処方法
初心者がつまづくこと
初心者が最初につまづくのはいかのことではないでしょうか?
- 何の機能で動いているかよくわからない(特にフレームワークを使っている場合)
- 一つのメソッドに長く処理を書いてしまう
- バグが発生しているときにどこが原因か分からない。
まず、「 何の機能で動いているかよくわからない 」ですが、例えばWebで
は、HTML、CSS、JavaScriptの3つの記述方法を覚える必要があります。それに加えてjQueryも
入ってくると最初のうちは言語の区別がつきません。最近では、色々な言語が入り混じったり、
オープンソースで便利なユーティリティやフレームワークがあるのでその区別をつけて
おくことが必要です。
次に、 一つのメソッドに長く処理を書いてしまう のは、
1つのメソッドに処理を全部書く方が書きやすいです。ただし、長すぎると
後から見た場合、非常に読みにくいプログラムになってしまいます。
1つのメソッドはだいたい一画面に収まるのが読みやすいプログラムとされています。
読みやすいプログラムにするにはサブメソッドを作るのですが、これを作る
単位をどうすれば良いかが分からないようです。
次に、 バグが発生しているときにどこが原因か分からない ですが、
簡単なプログラムやExceptionが発生すればバグの場所をすぐに特定できますが、
表示している数値が合わない等、いろいろなブログラムを経由している場合は
なかなか原因を見つけることができません。
対処方法
では対処方法を見ていきましょう。
まず、「 何の機能で動いているかよくわからない 」ですが、
プログラムが動く基本的な仕組みを押さえておきましょう。特定のフレームワークのみ勉強している場合は
便利な機能が多すぎて、そもそもの動きを勉強しなくてもシステムが構築できてしまいます。
ある程度、フレームワークで動くものを作った時に、フレームワークを使わない場合はどのように
動くかを理解してみましょう。そうすれば、別のフレームワークを使う場合にも対応できます。
次に、 一つのメソッドに長く処理を書いてしまう ですが、
プログラムを書く前に、処理の整理をしてみましょう。
メソッドにする単位はメソッドの内容が一文で表すことができるかです。そしてその一文をメソッド名にします。
まず、処理の整理ですが、「 ロボットにカメラで捉えたボールを掴む 」というプログラムがあったとすると
次のように日本語で処理の流れ作ります。
- カメラの画像からボールを捜す
- ボールの位置の座標を取得する
- ロボットが座標の近くに移動する
- ロボットの手をボールの位置に動かす
- ロボットの手でボールを掴む
この単位でメソッドを作ってこの5つのメソッドを作っていくのです。
また、そのメソッドの中で同じように日本語で処理の流れを作ってそれをメソッド化していきます。
一文で表せる単位でメソッドを作っていくこと。このようにすれば、俯瞰的にプログラムを観ることが
できます。
次に、 バグが発生しているときにどこが原因か分からない ですが、
プログラムのどの部分何をしているかが理解できていれば、バグの発生個所は見つけやすくなります。
先ほど言ったように、プログラムを俯瞰して書くこと、これによって一番上のレベルから
プログラムを追うことが可能になります。トップダウンでプログラムの構成を作っていくことが大切です。