教えて!gooグレードポイントがdポイントに!

論理的思考の身につけ方

プログラマ2年目です。
私は(基礎があった上で)感覚的にコードを書いています。今まで入れた知識をもとにコードパターンを増やしてそこから咄嗟に取ってきて組んでいると言うものです。なぜ動くのか深く考えずして、こう書いたら動く、という感覚で組んでおり、大抵は動くのですがパターンから外れるとエラー修正に少し手間取ってしまいます。(あとはパターンを取り出す時間がかかったり)
もちろん自分自身でこう言う組み方は応用が効かないしシステムとして不安だから良くない、というのはわかっています。

また、これでは部品ごとならばまだしも、大枠を組むとなった時にかなり苦労したり、ある一定までしか成長ができないと思っています。そのために、論理的思考やアルゴリズムをもっと身につける必要があるのではないか、と考えています。

もしおすすめのプログラマが成長できる書籍やサイト、講座等ございましたら是非お聞かせいただければと思っております。

教えて!goo グレード

A 回答 (5件)

>こう書いたら動く、という感覚で組んでおり



これで良いです。ちまちま考えるより
こう書けばうまく行くというパターンを
増やすことは大事。書いたら正しいか検証する
作業は必要ですけどね。何故動くか解らないでは
駄目だよ。

小さなパターンから、より大きなデザイン、
アーキテクチャを試して、適用範囲を知り、
腕の磨きましょう。

何十回も適用してその性質に通暁すれば
それは大きな財産になります。
    • good
    • 1
この回答へのお礼

ありがとうございます。
見切り発車でなぜ動いてるんだろう……をすっ飛ばしてしまうのは良くないですよね。今まで頭に湧いたコードを直接書き込んでいましたが、その前に設計やパターンを簡単でもいいので書くよう癖づけしていきたいと思います。

お礼日時:2022/06/25 10:05

試験を先に考えましょう。

そうすれば、おのずとコードに反映されます。

また、大きなプログラムを作る場合、必ず相手のあるものになると思いますので、システムの勉強をするといいかもしれません。たとえば、情報処理技術者試験のシステムアーキテクト試験向けの参考書を読むだけでも考えなくてはならないことはいろいろ身につくのではないかと思います。システム設計を経験したことのある人なら特に勉強しなくても受かる程度の難易度の試験ですから、内容はそれほど難しくはありません。
    • good
    • 1

ソフトウェア実装に必要なプログラミング技術とは別に、


ソフトウェア設計に必要なモデリング技術にも取り組んでみてはいかがでしょうか。

この二つの技術に通じていれば、相乗効果によって設計と実装の精度が上がるかと思っています。

参考) よく使われるモデリング手法
https://ja.wikipedia.org/wiki/%E7%B5%B1%E4%B8%80 …

参考) モデリング技術の推進団体
https://umtp-japan.org/
    • good
    • 1

私は独学でプログラムを覚えたわけですが、参考になった書籍をあげてみます。

いずれも古いですが・・・

1)ソフトウエア作法/カーニハン・ブローガ/共立出版
2)Cの宝箱/Allen Holob/工学社
3)高信頼性ソフトウエア-複合設計/G.J.Myers/近代科学社
4) 構造化分析とシステム仕様/トム・デマルコ/日経BP
    • good
    • 1

PADは書けますか?


書けないなら、まずはPADを覚えて使ってみましょう。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング