【初心者】プログラミングのロジックが思いつかない時に使える3つの考え方

プログラミング

プログラミングの学習を頑張り、プログラミングの知識の基礎を身につけた上で、プログラマーとして就職しました。

そして、仕事にてプログラムを書く日がやってきました。

しかし、作らなければいけないものがプログラミングできないという問題に直面しました。

就職先の会社の上司より「〇〇を作ってください。」と指示されたのですが、それが自分一人の力で作れないのです。

プログラミングの知識はあるのですが、その知識を使ってどのようにロジックを組み立てて、プログラムを作り上げて良いかが思いつかないのです。

ロジックが思いつかないという悩みです。

実際に作るものに対して、ロジックを組み立てなければなりません。

プログラミングの変数や関数などの基本知識はわかっています。

ただそれを利用してどのように組み立てを行うか、自分の力で考えて最終的な完成までたどり着くことができません。

私自身もプログラマーとして何年もの経験があり、いくつものシステムを開発してきました。

また今では開発のマネージメントを行う立場として、現場のプログラマーたちと何人もやりとりをしています。

自分も含めて多くのプログラマーたちが初心者の頃には同じ問題を抱えていました。

そしてその問題をみんな乗り越えて自分一人でプログラミングができるようになっていきます。

プログラムを一人で作る。

これは、プログラマーとしてお金を稼いでいくためには、必ず必要なスキルになります。

では、これを解決するために、どのように考えたり行動したりすれば良いかについて解説していきます。

内容は以下です。

既に完成されたプログラムを参考にする

ロジックを組み立てる。

これは暗記でできることではありません。

自分の頭の中で仕組みをパズルのように組み立てて、最終的にはプログラムとして作り上げていかなければなりません。

プログラミングコードを読む

この「ロジックの部分が思いつかない。

その悩みを解決する1つの方法は、先輩プログラマーが作ったプログラムコードを読んで理解する

または、世の中に出回っている様々なプログラムで似ているものを探して参考にする。

これを何度も繰り返すことです。

これを何度も行うことで、ある程度のパターンだったりやり方というものが身についてきます。

同じロジックでも、いくつものプログラミングコードを見ることで、書き方の違いがあり、それがどのような違いなのか、それでも同じ結果を出すこと、またどっちのコードの方がわかりやすいか、書きやすいか、効率が良いか。などもわかってくれば、より理解が深まるでしょう。

「写経」による訓練

そしてこのプログラムコードを読んでロジカルな考え方を身につけていくという方法で、良いのが「写経」になります。

読んで、書いて、動かして、理解する。ということがセットで行えるため、とてもに良い訓練になるといえます。

写経のメリット似関しての詳細については、以下の記事にまとめていますのでご確認ください。

インプットとアウトプットをしっかりとおさえる

実際にプログラムを書く際にどのようなロジックで作るか。

それを考える前に必ず押さえておかないポイントを話します。

道のりを作る

それは作る機能の「インプット」と「アウトプット」をしっかり決めておかねばなりません。

このインプットとアウトプット、すなわちスタートとゴールをしっかり押さえておく。

そして、そのスタートからゴールへ行く道のりを作っていくこと。

それがプログラミングです。

その道のりが、プログラマーが考えるロジック部分に当たります。

道を遠回りして進むプログラムもあれば、最短距離で進むプログラムもあります。

(常に遠回りが悪く、最短距離が良いとは言えませんが。)

ただ、ここで重要なことは、スタートとゴールここがズレてしまうと、そもそも作りたいものができないということになります。

したがって、ロジックを考える前にしっかりと理解しないといけないポイントは「スタート」と「ゴール」要するに「インプット」と「アウトプット」をしっかりとおさえることになります。

これはプログラム全体にも言えますし、また細かく分解した際の1つの機能、1つの関数についても言うことができます。

具体例として

例えば、画面の「写真を表示」というボタンをクリックすると、画面上に写真が表示されるという機能があったとします。

その際は、スタートとゴールは下記のようになりますね。

  • スタート:「写真を表示」ボタンがクリックされた。
  • ゴール:画面上に写真を表示する。

これをプログラミングする機能ごとにブレずにしっかりと考えられることが必要となります。

データの流れを理解する

次に考えないといけないことはデータの流れです。

プログラムというものは、ほぼデータがどこから、どこに向かい、またどのように変化して流れるかということを記述していきます。

具体例として

例えばデータベースに格納されている情報を、Web 画面に表示する場合。

  1. データベースから情報をSQLによってプログラム上へ展開。
  2. その情報を文字列変換や、数値計算を実施。
  3. そして、プログラムからHTMLテンプレートへ出力。
  4. ブラウザで見るとWeb画面上にて表示。

データベースからWebブラウザまでのデータの流れや変化がイメージつくでしょうか。

このデータの流れやデータが変化というものがしっかりと分かっておくことが大切になります。

どこでデータを取得して、どう変化させて、最後にどこに出力する。

この内容をプログラムとして考えるのがロジックの部分となります。

まとめ

プログラミングを行う上で、ロジックを考えることについてお話してきました。

以下の内容でした。

  • 既に完成されたプログラムを参考にする
  • インプットとアウトプットをしっかりとおさえる
  • データの流れを理解する

ロジックを自分自身の力で考えて作っていく。

この力をつけていくお話をしてきました。

まずは、大きな複雑なシステムではなくて、簡易なツールなどから自分の力で0から考えてみるのが良いです。

その上で徐々に大きな複雑な仕組みを考えていければよいかと思います。

経験(作った数)で補えることも大きいかと考えてますので、多くの経験を積むことで確実に自分の力がアップしてロジックを考えるということが実現できてくるでしょう。

今回のお話はここまでとなりますが、ロジカルシンキングを鍛える方法について以下の記事が参考になりますので、ぜひご確認ください。

以上です。

コメント

タイトルとURLをコピーしました