ku__ra__geさんに賛成です。
まず、プログラミングは「書いて終わり」……ではありません。
デバッグやテスト(検証)まで含みます。
デバッガでデータの値や流れを確認したり、テスト(検証)というエラー系等のものも試したりとかです。
趣味でやっている場合はテストまでは手が届かないこともありますが、基本的にはやるべきです。
ましてやデバッグしないとそもそも動きません。
(デバッグをせずとも、たまたまうまくいくときもあるが、相当まれ)
また、プログラミングは「こう書けばいい」っていうものじゃないです。
「俺はDIYが趣味だ」と言う人が、「俺、椅子を作ってみたんだけど、なんか高さが合わないから誰か修繕してくれねーか?」と言ったとします。
本当にDIYが趣味なのか疑わしくありませんか?
プログラミングをするけど、デバッグを自分でやらないのはこういうのと一緒です。
まずはご自分でデバッグしましょう。それからです。
(もちろん、実務ではチーム開発が基本らしいので、デバッグ担当とかみたいに役割分担をしますが、
軽いデバッグすらできない人はそもそもプログラミングが出来ないです)
[追記1]
例えば今回のような問題は質問せず、自分で見つけるべきということでしょうか。BeatStarさんはどのような質問が望ましい思いますか。
私は説明下手なので綺麗な質問・回答はできませんが、それでも心掛けていることがあります。
『情報を提示する事』です。
たとえば、『自分がやったこと』『参考にしたサイトのURL』『自分なりの解釈』、
『どのような流れでやったか』(たとえばどのように起動したとか)
……というように、『第三者が再現できるような説明』です。
今回の場合は、
やったこと・試したこと:
1. まずは (記述する場所のコード)に print(j) と置いて出力してみた
=> 結果は 1, 1, 1, 1, 1, 1... と常に1 になる
2. 計算式を (式1) から (式2) に変えてみた
=> 結果は (結果) となる
3. 起動時のコマンドライン引数を --a から --b に変えてみた
=> (結果)
...
と言う風に試したことを書く。
こうすると、回答者は『試したこと1だと こうなる……ってことは○○はあり得ないな』とかみたいに
何となく判断が出来ますし、丸投げにも見えません。
シンプルにしようとして、情報を削る人がいますが、あれはダメです。
むしろ情報が無さ過ぎて判断材料がないため、ゼロの状態から調べることになります。
情報が多すぎると確かに読みづらく、用件がはっきりしない場合がありますが、
それでも情報を隠されるよりはマシです。
『自分なりの解釈』だと、たとえば単なる思いつきの場合もありますが、
大抵はその人なりの論理によって引き出されます。
でもそのロジックに穴があったり、矛盾を抱えていることもしばしば。
その『なぜその考えに至ったのか』とかの経緯を書くと、
「んー、あー、惜しいわぁ……この方、こういう風に勘違いしているみたい」と
回答者は何となく判断でき、そのロジックも修正してくれます。
なので情報は出し渋らないこと。
また、別に質問自体を問題視しているわけではないです。
私も何度も質問していますし、ホント、しょーもないことが原因(たとえばタイプミス、いわゆるタイポ)とかだったりします。
(後は参考サイトの最後らへんにヒントや答えがあるのに、そこまで目を通していなかったりとか)
なので別に悪いとは言いません。
でも、『参考にしたサイト』とか『試したこと』とかを書くだけでもだいぶ印象が変わります。
最初の質問だと、『コードは俺が書いたから、後は誰かがやってくれ』的な、
丸投げのような質問に見えます。
でも『どのように試した』とかを書くだけでも、『本当に自分なりにやっていて、手が足りないのだな』と
わかります。
そういう風に、質問方法をほんの少し工夫するだけでもだいぶ印象が変わります。
別に**『質問するな』ではないです**。
まあ、頑張ってください。(^▽^)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/24 06:04
2021/06/24 09:24