現在、駆け出しのプログラマーですが
フローチャートや記述の時に「固定的に考え過ぎている」「柔軟性をもって」とよく言われます。
プログラムの処理なども苦手意識があり、教えていただいて応用がきかないことが多く悩んでおります。
プログラミングに役立つ本や考え方、役立つ数学など何かヒントがほしいです。
よろしくお願いします!
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答6件
0
「固定的すぎる」も「柔軟に」も、どちらもまだあなたが「十分な選択肢や使える道具、知識を持ち合わせていないため、選べるものが少ない」ことが原因である可能性が高いです。そういう意味では、初心者への指摘としては「絶対当たっていて、無難な指摘」です(誰でもできる指摘。こう言っておけば大抵初心者を黙らせてへこませられる)。
まれに天才的な人がいて、いきなり想像を超えるやり方や手段を発明したりすることはあるかもしれませんが、まぁ、そういう人であればここで相談はしてませんよね?ってことは、地道にいろいろやってみて、成功、失敗含めて「場数を踏み、いろんなケースに対処する術の持ち合わせを増やす」が一番遠回りなようで近道だと思います。
「固定的すぎる」とか「柔軟じゃない」なんてのは誰でもできる指摘で、むしろ今のあなたに必要なのは「どうすればいいか」という方針やアドバイスかと。どういう状況でプログラムを組まれているかなどがわからないので、おそらくみんな無難なアドバイスしかできないと思いますが、少なくともいえるのは「悩んでる時間で手を動かして、やったこと無いことをやってみよう」です。
失敗することもありますし、やったことや費やした時間が無駄になってしまうように思うこともあるかと思います。ですが、失敗は「こうしたら失敗する」という経験になりますし、成功は「こういうやり方で成功した」という経験、どっちも経験です。そういうのをいっぱい繰り返してため込んでいけば、「こういうときは、こんなやり方とか、こんなやり方がある。ちなみにこういうことをやると失敗する」ということを言えるようになります。これが「固定的すぎず、柔軟」ということかと。
焦らずいろいろやってみましょう。
ただ、1つだけ。プログラミングや開発の世界は、何かを実現するための方法がものすごくたくさんあり、同じ事をやるにも多彩なコースがあります。1回の成功で、そのどれかに固執すると、「経験はあるのに、考えが堅い、柔軟じゃない」というエンジニアになってしまうので、なるべく「手札をたくさん増やして、どんな状況でも複数の選択肢を持って戦える」ようになることを目指しましょう。
ではでは。参考になれば幸いです。
投稿2019/01/31 13:03
総合スコア534
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
言葉というのは文脈を考えないと間違えます。字義だけではなく、状況によって意味が変わってくるからです。
例えば「お前はなんてバカなんだ」というのが、ある場面では暴言であり、ある場面では感謝の言葉になります。
ですからこの場合の「固定的に考え過ぎている」「柔軟性をもって」がどういう意味なのかを考えなければ対策は立てられないでしょう。
例えばこの質問ですが、私はそのような感想を持ちました。
確かに要件は満たしています。ちゃんと読んでいませんが、おそらく動くでしょう。
「プログラムは動けばいい」のであれば、問題ないはずです。
しかしこのプログラムは「1 から 10」を「1 から 100」に変えると破綻します。「動けばいい」という考えで作られているからです。
プログラミングで最も多いのは新規開発ではなく保守です。このプログラムを保守しようとすると、全面改修になってしまいます。
「もっと柔軟に」というのは、「与えられた条件が変わるとどうなるか」「出題者の意図を把握しているか」という、「もっと問題以外のことも考えなさい」という意図で言われたことなのではないかと推測します。
つまりあなたは「字義だけで考えるのではなく視野を広く持って状況を考えろ」と言われたのです。
「プログラミングに役立つ本や考え方、役立つ数学など」も大切ですが、この問題の解決に役に立つかどうかはわかりません。ただ、保守性を考えるのは全てのプログラムの基本ですから、大切にしてほしいと思います。
投稿2019/01/31 22:55
編集2019/01/31 23:08総合スコア28671
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
フローチャートや記述の時に「固定的に考え過ぎている」「柔軟性をもって」とよく言われます。
これ、設計をちゃんとしろって言われています。
データの持ち方やフローの設計が充分でないのでしょう。
「固定的に考え過ぎている」「柔軟性をもって」
と指摘している人もあまり良い指摘ではないのですが、大抵のコードは「車輪の再発明」であり、独創性な設計となるケースは少ないです。
より多くの設計を見ることで、設計の常識が身につきます。
会社であれば、過去のドキュメントが揃っていると思うので、資料の読み込みから始めてみては?
投稿2019/02/01 02:18
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/01 02:25 編集
退会済みユーザー
2019/02/01 02:37
2019/02/01 02:41
0
既に回答してくれているbackyardさんの内容に重なる部分もありますが、私なりの回答もしてみます。
同じ結果を出すにも手法はひとつではない
というのが出発点です。
何がベストかはそのとき時や設計によっても違います。
そこが「ロジック」とも言えるところで、常日頃から様々な表現方法ができるというのを念頭においては如何でしょうか。
簡単な例題です。
「“Hello,World“と出力する」
これを導入で良くあるprint以外の手法でできるだけたくさん挙げる
幾つ手法が思い付きますか?
思い付く限り難しく回りくどいやり方を考えて試してみてください。
私も新人教育の一環でこういう課題を出すことがあります。
目的は「やり方は1つではないというのを知ってもらう」というのと「現在の引き出し(自分の実力)を把握する」のと「引きだしを増やしてもらう」ことです。
引きだしを増やすことは、柔軟性のある考え方や行動に繋がります。これはプログラミングに限らず、ですね。
ここでたくさん手法を挙げられなかったからって落ち込む必要は全くありません。駆け出しであれば言わば初心者に毛がはえたようなもの。引きだしと言えるものも無いようなものなので、出せなくて当然です。
逆に言えば数ヶ月数年経ったときに同じ課題をやってみて現在よりひとつでも多くの手法を挙げられたら、それは自身の成長を分かりやすく実感できる指標にもなるわけです。
がんばってください。
投稿2019/01/31 19:33
総合スコア80879
0
あまり模範的な話ではないですが「動けば良い」というのが第一だと思います
最適がをゴリゴリ考えるよりも新しいプログラムをいっぱい作る方が勉強にはなると思います
「柔軟性」は頭の良し悪しの問題なので、頭の良い人は柔軟性なプログラムを書いて、頭の悪い人は固定的なプログラムを書いて、まあまあ頭が良いひとはまあまあ柔軟なプログラムを書くというだけの話です。
ただ、「動けば良い」とは言えども「動かなければ良くない」ので必ず動くものを作りましょう。
だんだん複数なものを作っていくうちに「柔軟性」の意味は体に身についてくるので「正しく動かす」ことだけ意識してれば問題無いと思います。
投稿2019/01/31 14:52
総合スコア2050
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/31 23:28
2019/02/01 00:22
2019/02/01 01:52 編集
2019/02/01 02:02 編集
2019/02/01 02:04
退会済みユーザー
2019/02/01 02:13
2019/02/01 02:26
2019/02/01 02:41
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。