- ベストアンサー
プログラミング中に壁にぶつかったら
今、プログラミングを勉強しているのですが、 何かと壁に当たることも多いですが、 なんとか乗り越えて達成感を味わうことも多々あります。 最近は書籍のソースコードではなく、自分の頭で考えたような処理を記述できるようになってきました。 数日前から、ある処理について自分で発展させて、コードを書いていますが、一昨日あたりから、どうしてもわからなくなって、八方塞がりになってしまいました。自分でソースをすべてプリントアウトして眺めていても、混乱してきます。わかりそうで、見えてこないんです。だから素直に諦めきれないという状況です。 この丸二日間、悩みましたが結局いまだ理想の処理を実現するコードがかけていません。一部理想どおりにすると、一部に不具合が出るという状態です。 ほかにもやらなければならないことがあるので、 ひとまずその処理を実現させる作業は中断させて、 他のコードを組んだりしようと思っています。 そちらを勉強していくほうが今はためになるかと。 非常に名残惜しいですが・・! 場合にもよると思いますが、 どの程度悩んで分からなければ、 一度その処理に関しては、ストップされますか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
発明する人もよく言うことですが、発想が浮かぶ瞬間は余暇の間だったりします。ニュートンがリンゴが木から落ちるのを見て・・という話もありますが、必ずしも課題とにらめっこしていて良い結果が得られるというものでもありません。 そういう課題に取り組んでいる場合は、頭のどこかで常にそれについて考えています。考えているからこそ発想が得られるのであって休んだり遊んだりすること自体が発想を生むというわけではありません。机に向かっていると一方向からばかり見つめがちになるのを、そこから離れることによって視点を変えて眺められるようになるということです。そういう意味で「停止」ではなく「中断」をはさむことは時に必要なことです。 以上は一般論ですが、プログラミングについては、どういうプログラムか知りませんが、分からないときはネットを漁ってコード例を探しましょう。先人が提供してくれる良い材料がいっぱい落ちています。そういうものをうまく盗むことがステップアップに必要です。
その他の回答 (4)
「壁」の原因は技術上の問題とは限りません。 疲労による集中力、思考力の低下が原因である場合が、案外多いものです。 その場合は、思い切って考えるのを止めてしまい、気分転換することです。日を改めて考え直すと簡単に解決するかもしれません。
お礼
たしかに、集中状態においては、 ひらめきや、道筋がパーっと見える感覚、あります。 それが先日、本日と、もう枯れそうになっていました。 おっしゃるとおりだと思います。 あたまの片隅に常にその処理をイメージしながら、 別のことで気を紛らわそうと思います。 ありがとうございました。
- Pesuko
- ベストアンサー率30% (2017/6702)
私の場合アルゴリズムを主に考えます。 間違ったアルゴリズムではいくらやっても壁にあたります。 考えたアルゴリズムの上で自分なりに考えられるパラメーターを頭の中で入力して、ペーパーシミュレーションを実行し、すべて通ればそのアルゴリズムは正しいわけです。 そうすると後は其のアルゴリズムにしたがってコーディングするだけになります。 コーディングする時にはあまり考えません。
お礼
アルゴリズムについて全く無知だったので、 検索して調べてみました。 思い付きではなく、誰が組んでも同じようなものが作れないと駄目なんですね。 ということは、机上でまず練りに練った上で、 PCに向かうというのが一番の得策のように思えます。 壁にぶつかって、今回初めてページネーションというものを行ってみました。そこで、結局頭が混乱してしまいましたが、たしかにあたまの中が少し整理されていくような気がしました。 効果がありそうですね。 実践してみようと思います。 ありがとうございました。
- PAPA0427
- ベストアンサー率22% (559/2488)
いきなりコーディングしてませんか? きちんと必要な条件はまとめておきましょう。設計がうまくいっても実際のコーディングで壁に当たることも多いですね。 そんな時は誰かに話をします。そうするとあら不思議、解決方法が浮かぶんですね。まあ、相談されてる方は迷惑でしょうが…。
お礼
はい、いきなりコーディングしています(苦笑) 駄目ですね、もっと考え直して効率のいいプログラムを組んでいこうと思います。 ありがとうございました。
- taknt
- ベストアンサー率19% (1556/7783)
まずシステム設計がきちんとなされてないですね。 次にプログラム設計。 それらがちゃんとされていれば、プログラムで悩むことは少ないはずです。
お礼
おっしゃるとおりだと思います。 思いつきで組んでいるところがあります。 肉付け肉付けのれん続ではいいものができるわけありませんよね。 ありがとうございました。
お礼
おっしゃるとおりだと思います。 思考停止ではなく、思考中断。 いい言葉ですね。 停止してしまうと、もう何も浮かんできませんもんね。 これは教訓にしようと思います。 先人のコード例を探す、これもいいですよね。 実践いたします。 ありがとうございました!