プログラミングのロジックが思いつかない?考え方のコツ3つ

2022年7月27日

プログラミングのロジックが思いつかない原因と考え方のコツ
shin

シン

フリーランスエンジニア。Java(SpringBoot)。Oracle認定Java Gold保有。全日本SEO協会認定SEOスペシャリスト。SEO検定全級保有。プログラミング、エンジニア、SEO情報を発信。大阪在住

プログラミングのロジックが思いつかない。コードは少し読めるようになったけど、まだ自分で考えて書くのは難しい。ロジックの考え方のコツとかがあれば、教えて欲しいなぁ。

こんなお悩みにお答えします。

プログラマーの中には実務経験が2〜3年あったとしても、自分で考えてコードを書くことが苦手な人は多いです。

なぜプログラミングのロジックが思いつかないかというと、

  • 日頃からコピペばかりしている
  • 実務で開発をする機会が少ない

この辺りが主な原因だったりします。

そこで今回は、プログラミングのロジックが思いつかない具体的な原因と解決策をご紹介します。

僕は現役のフリーランスエンジニアで、頻繁にコードに触れる機会があります。プログラミング言語の資格も保有しているので、お伝えする情報の信ぴょう性はあるかと。

この記事をお読みいただければ、プログラミングのロジックを考えるコツがわかりますよ。

プログラミングのスキルを高めたい方は、ぜひ最後までお読みいただき、実践してみてください!

プログラミングのロジックが思いつかない原因

結論として、プログラミングでロジックが思いつかない原因は、主に以下の通りです。

  • 思考停止でコピペしている
  • ロジックを考える経験が少ない
  • 手順を間違えている

原因1:思考停止でコピペしている

1つ目の原因は、思考停止でコピペしているからです。

考えなしにコピペばかりしていると、実力が身につかないんですよね。

たとえば、処理の流れを人に説明できるくらいまで理解し、コピペすればスキルは身につきます。

  • 良い例:コピペしたプログラムが正常に動作するうえ、処理の流れを説明できる
  • 悪い例:コピペしたプログラムは動作したが、処理の流れを説明できない

コピペ自体は悪いことではないです。大事なのは「理解してコピペしているかどうか」です。

何も考えずにコピペするのは、単純作業と同じなので、なかなかスキルが身に付かないんですよね。

なので、ロジックを考える力もつかないというわけです。

原因2:ロジックを考えたことがあまりない

2つ目の原因は、ロジックを考えたことがあまりないからです。

要は経験不足ということですね。経験不足だと、ロジックが思いつかないのも無理はありません。

優秀なプログラマーは頭がいいからロジックが思いつくのではありません。ロジックを考えたことがたくさんあるから、すぐに思いつくのです。

たとえばサッカーのリフティングも、初心者がいきなり100回できるかというと、できないですよね。でも1年2年と経験を積めば、100回どころか200回300回とできるようになります。

プログラミングも同様で、数をこなせば必ずできるようになるのです。

とはいえ、現状の会社でヘルプデスクばかりさせられていたり、開発の機会がない方もいるでしょう。

以下では、ヘルプデスクはスキルが身につかない理由を解説していますので、よければ参考にしてみてください。

原因3:手順を間違えている

3つ目の原因は、手順を間違えているからです。

手順を間違えると、なかなかロジックが思いつかないのはよくあります。

悪い例をあげると、実現したいことを言語化せず、ふわっとした状態でコードを書こうとすることですね。

何をしたいのかが明確でなければ、ロジックが思いつかないのも無理はないです。

たとえば僕は、以下の流れでロジックを考えています。

  • 実現したいことを言語化する
  • 「1」の内容をもとにコメントを書く
  • コーディングする

ロジックは「実現したいことから逆算して考える」のがポイントです。ぜひ参考にしてみてください。

プログラミングのロジックの考え方と3つのコツ

ではプログラミングのロジックの考え方をご紹介します。

コツさえわかれば、ロジックを考えるのはそこまで難しいものではありません。

結論から言うと、以下の3つが考え方のコツです。

  • 実装したいことを順序立てる
  • ひとまずコードを書いてみる
  • 仮説と検証を繰り返す

考え方1:実装したいことを順序立てる

まずは実装したいことを順次立ててみると良いです。実現したいことから逆算していくイメージですね。

プログラミングは、順次立てて考えることがポイントです。

先述しましたが、以下の順でコードを書くと良いですよ。

ポイント

  • 実現したいことを言語化する
  • 「1」の内容をもとにコメントを書く
  • コーディングする

上記を補足すると、実現したいことを言語化する際は、「頭の中だけで考えないこと」がコツです。

プログラミングのような複雑なものは、頭の中だけで考えると思考がぐちゃぐちゃになってしまうからです。

たとえば僕は、実装したいことはエクセルやメモ帳などに書き出してからコードを書くようにしています。

もちろん実務では基本的に設計書があるので、設計書通りに実装するのが基本です。

ただ設計書自体がなかったり、あったとしても使い物にならない時もあります。

そういった場合は、まずは自分で何をしたいのかを言語化すると良いですね。

考え方2:ひとまずコードを書いてみる

ひとまずコードを書いてみるのがポイントです。

考え方1で説明した、実装したいことを言語化できたら、あとはコードを書いてみましょう。

実際に書いてみることで、プログラムが動くかどうかがわかります。もしプログラムが動かないなら別の手法を試すなど、次の手を考えることが可能です。

とりあえずコードを書いてみるという意識を持っておくと良いですね。

考え方3:仮説と検証を繰り返す

仮説と検証を繰り返すと良いです。

なぜなら、プログラムは一度書いただけで正常に動作しないこともあるからです。

仮説を立てるときは、「自分の中で根拠を持った上で立てることがポイント」です。

ポイント

  • 実現したいこと:登録されている会員の名前を画面に表示したい
  • 仮説:DB(データベース)から会員の名前の値を取得する必要がある
  • 仮説の根拠:会員の名前はDBに登録されているから
  • 検証:SQLのSELECT文のメソッドを追加

ちなみに仮説は闇雲に立てるのは、一か八かの運頼りになるので、スキルが身きません。

仮説は経験値が多ければ立てやすいですが、初心者は経験が少ないので立てにくいと思います。その場合は、ググりながら立ててみるといいです。

上司に聞ける環境にいるのであれば、「自分の考えが正しいかどうが」を聞いてみるのも一つの手段です。

自分なりに根拠を持った上で、仮説検証を繰り返してみてください。

プログラミングのロジックの鍛え方3つ

プログラミングのロジックは、基本的に数をこなせば上達します。

ロジックを効率よく鍛える方法もありますので、そちらについてもご紹介しますね。

結論として、以下を意識すれば、効率よくロジックを鍛えられますよ。

  • 処理を説明できるように
  • ものごとを論理的に考える
  • Paizaで問題を解きまくる

鍛え方1:ものごとを論理的に考える

1つ目は、ものごとを論理的に考えることです。

プログラミングは順序立てて考えていくので、論理的思考力が必要だからですね。

論理的思考力は、日頃からロジカルに考える習慣を身に付けておけば、鍛えられます。

鍛え方2:処理を説明できるようにする

2つ目は、プログラムの処理を説明できるようになることです。

プログラミングをする際は、常に自分が実装している箇所は、他人に説明できることが大事です。

人に説明できるようになると、コードを読む力が向上します。コードを読む力が向上すると、同時にコードを書く力を鍛えることができます。

ロジックを考えるには、プログラムを読む力と書く力がの両方が必要です。

なので、プログラムの処理の流れは人に説明できる状態にしておくと良いですよ。

鍛え方3:Paizaで問題を解きまくる

プログラミング学習サイトのPaizaで問題を解きまくることで、ロジックを考える力を鍛えられます。

paiza問題集
Paiza問題集

Paizaはさまざまな演習課題があります。なかでも、文章問題をプログラミングのコードで回答する課題があり、この課題をひたすら解いていくことで、ロジック力を鍛えられるのです。

僕もPaizaでJavaの課題を解きまくっていた時期があったのですが、おかげでプログラミングのロジックを考える力が身につきました。

Paizaで身についたロジック力は、実務でも活かせているので、やってよかったなと。

月額1,000円ほど課金すれば、全ての課題にチャレンジできるので、コスパ良くプログラミングを学べますよ。

ロジック力を鍛えたい方は、ぜひ試してみてください。

プログラミングは圧倒的量をこなせば上達する

プログラミングのロジックが思いつかない原因と、鍛え方について解説しました。

ロジックが思いつかないのは才能やセンスがないのではなく、経験不足です。プログラミングは、「圧倒的な量」をこなせば上達します。

才能やセンスは、多少は関係あるかもしれませんが、凄腕のプログラマーたちはみんな最初からプログラミングができたわけではありません。

目標に向かってコツコツ積み上げられるかがポイントです。

ぜひ本記事で解説した内容を、実践してみてくださいね。

以下記事では、プログラミングがわからない時の対処法について紹介していますので、あわせて読んでみてください。

  • この記事を書いた人
shin

シン

フリーランスエンジニア。Java(SpringBoot)。Oracle認定Java Gold保有。全日本SEO協会認定SEOスペシャリスト。SEO検定全級保有。プログラミング、エンジニア、SEO情報を発信。大阪在住