質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.35%

プログラミングのロジック脳を鍛えるためには

解決済

回答 4

投稿

  • 評価
  • クリップ 0
  • VIEW 3,519

k499778

score 542

現在タグにあるような言語を勉強しています。

開発経験がまだまだ浅く、プログラムのロジック脳を鍛えたいなと思っています。

例えばこういう仕様ではfor文をまわす。
これだけ条件分岐が多いときはこういう書き方をするなど。こういうときはこういう書き方をするといったストックがまだまだ少ないです。

おそらく経験者が当たり前のように書くコードがまだまだわからないし、思いつきません。

自分の中ではやはり経験値が大事でとりあえず目の前のことを1つ1つ潰していっていつかわかるようになってくるとは思ってるんですが、

同時にその知識や発想や経験を鍛える勉強法はないかなあ。とも思っています。

もしもしそういうトレーニングをするのに何かいい方法があれば教えていただきたいです。

よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 4

checkベストアンサー

+1

誰かが書いたソースを読んでみるのがいいんじゃないスかね。
もちろん玉石混合でしょうが、読んでるうちになんとなく
自分の中の評価方針が決まってくるもんだと思います。
あと、言語のバージョンによってもしかるべき書き方
ってのが変わってきますよね。そのへんは要注意かと。
個人的には、読んで分かりやすく改造もしやすいのが
いいプログラミングだと思ってます。:-)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/21 23:15

    やっぱりコードリーディングですよね。自分もその重要性には気づいていて、リーダブルコードを買ったり、ギッドハブで他の方のコードを読んだりはしています。
    現状それを続けていって地道に磨き続けるしかないですかね。

    キャンセル

+1

揚げ足取りみたいになりますが、

例えばこういう仕様ではfor文をまわす。 
これだけ条件分岐が多いときはこういう書き方をするなど。こういうときはこういう書き方をするといったストック

というのは、プログラミングのノウハウ、センスあるいはコツ、勘所みたいなものであって、「ロジック脳」とは別物と思います。
まあ、私にとって「ロジック脳」という語から想起されるのは「論理的に思考する能力」だったから、なわけですけれども。おそらく、k499778 さんが言いたかったことは「論理的に思考する能力を高めたい」ではなく、「プログラミングのノウハウを身につけたい」ということなんだろう、と思っておりますが。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/21 23:02 編集

    確かにそうかもしれませんね。ロジック脳と言うとセンスとか天才的な閃きっていうニュアンスを与えてしまってるかもしれませんが、
    どちらかというとコツコツ積み上げていくノウハウのストックをできるだけ多くしたいというニュアンスを伝えたかったです。
    そういう意味での発想やコードを思いつく力、ロジックを考える、想定できる力が欲しいです

    キャンセル

+1

デザインパターン について勉強してみることをお勧めします。

書籍名に デザインパターン がふくまれている本を読むとか、
google で "デザインパターン" をけんさくすrことから初めてみるとよいと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/22 07:01

    回答ありがとうございます。
    デザインパターンについても少し勉強していました。
    ただ少し難しいなと感じてしまいました。もう少し頑張って勉強してみます。

    キャンセル

+1

どこで詰まっているか。。。です。

例えば、仕様からざっとしたコードすら思い浮かべられないのであれば、
プログラミングに必要な数学的な力をつけることもおすすめします。
また、幅広く学ぶなら、基本情報技術者試験レベルの学習をされるのもおすすめです。

ロジック脳を鍛えるという意味では、
基本的な、データ構造やアルゴリズムを学び、実際に動くものを実装するのもおすすめです。
明らかに効率の悪い変なコードは書かなくなると思います。

仕様からコードは書けるが、どういう風に実装すれば品質の高いコードになるのか…といったことで悩んでいるということであれば、デザインパターンリファクタリングの勉強をされたら良いと思います。

最後に。
実際に現場で感じることですが、基礎が大事だとつくづく思います。
今回、Javaに関連する本ばかり紹介しましたが、Java以外でも普遍的に使える知識ばかりなので、今後、言語が変わっても応用が効きます。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/22 22:43

    回答ありがとうございます。
    そのような観点で具体的にどこで悩んでるかを言うと、
    >仕様からコードは書けるが、どういう風に実装すれば品質の高いコードになるのか…といったことで悩んでいる
    ですね。

    まさにデザインパターンやリファクタリング力が必要なのかもしれません。
    「リファクタリング プログラムの体質改善テクニック」
    の本は持っていて読みました。

    デザインパターンもサイトなどで勉強はしたのですが、まだまだ難しいと感じました。

    今回を機にもう一度挑戦したいと思います!

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.35%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る