スタックした場合、どれくらい早くスタックオーバーフローに頼るべきでしょうか?[閉まっている]


51

私は、iTunes U CS193pコースを通じてiOSの開発を自己学習していますが、しばしば立ち往生しています。私は自分自身を解き明かそうとしましたが、メソッドが欠落していたり​​、委任のような概念全体を実際に得ていなかったとしても、間違っていることを理解するのに何時間もかかるかもしれません。

時間を浪費しているのではないかと心配しているので、先に進むために立ち往生したらすぐにStack Overflowに行くほうがいいでしょう。

あなたの経験では、すぐにStack Overflowを要求すると、学習プロセスが妨げられたり、改善されたりしますか?


45
SOに関する回答を検索することは、最初に試すべきことの1つであることは注目に値します。あなたの質問に正確に一致する答えがなくても、洞察を与える何かがある可能性があります。しかし、自分で質問に答えるのに一生懸命努力し、自分が持っているものと持っていないものを明確に示す方法で質問を定式化するまでは、自分で質問することはすべきではありませんすでに試しました。
ダウードはモニカ回復言う

1
@DavidWallaceはこれ以上同意できませんでした。考えずに質問するだけの人が多すぎる(質の低い質問)、考えて尋ねる人もいます(より良い質問ですが、質問する前に実際に検索する人が少ない(重複が少ない)ことを
望み

3
質問をするときと同様に、考えられる答えを最初に自分で検索した場合は、実際の答えが表示されたときにさらに学習します。検索を忘れた場所が表示され、次回も検索できます。答えを学ぶだけでなく、答えを探すことも学びます。事前に自分で答えを考えていなかった場合は、答えを取得して先に進みますが、一般的にはあまり学習しません。あなたは自分自身を改善しません。
コネラック

3
実用的なアプローチ:SOは単純な質問に最も適しているため、すぐに質問することをお勧めします(ただし、質問を定式化できる必要があります)。タイトルを入力すると、最も近い質問のリストが表示されます-あなたの質問がリストにないことを確認する必要がありますが、SOの追加検索を実行する必要はありません。
-Grzenio

6
これはおそらくSOのメタで聞かれるべきだと思う。
hugomg

回答:


35

私が新しい開発者と仕事をしているとき、彼らが進歩していない5分または10分後に質問するように勧めます。

これには2つの利点があります。1つ目は、問題をじっと見つめるのにあまり時間をかけずに助けが得られることです。彼らが学習している場合-最終的には答えではないものでさえ-彼らはその情報を有用に保持する可能性がはるかに高くなります。

2番目は、そのくらいの時間の後、彼らは問題を他の誰かに説明しなければならないということです。エンドツーエンドで順番に調べることで、以前の作業で見逃していたものを見つけることができるため、問題の大部分を解決します。

あなたが一人でこれをしているように聞こえるので、ぬいぐるみ、時計、または壁に目を向けて、問題について尋ねてみてください。あなたが人にするようにそれを説明し、それが物事を修正するかどうかを確認します。

うまくいかず、進行していない場合は、誰かに尋ねてください。スタックしたまま5〜10分を費やすことは時間の無駄です。他のことを続けない限り、問題を解決するために新鮮な心で戻ってください。


17
行き詰まるためにあなたの犬と話をするようなものはありません。:
マージャンヴェネマ

2
そして、あなたがあなたが間違っていることを悟ると、あなたの犬は「すごい!はそれを考えたことなかったでしょう!」のようになります。自我を高めるために、いくつかの賛成票を打ちます。;-)
CVn

4
+1これは、おもちゃのアヒルと話すことから「アヒルのデバッグ」と呼ばれます。ブードゥー人形を持っています。私はそれをブードゥー教のデバッグと呼んでいます。
サルダスリオン

4
すばらしい回答+1。私は長年にわたって何度も「立ち往生」してきましたが、他の人に説明すると答えが明らかになることがわかりました。私はまた、立ち去る/何かをして明確な頭を得ることがうまくいくことを発見します。Stack Overflowにすぐに頼るつもりはありません。自分で解決策を見つけたとしても、決して忘れないでしょう!最近では、Webに過度に依存している脳死のプログラマがたくさんいます。
アンソニーブレイク

2
SOに関する質問の草案を作成しているときに、私の質問の多くが自分自身に回答しました。あなたの質問の詳細をフレーミングする行為は、いくつかの答えを明らかにします
アルドリン

22

みんなの素晴らしい答えに私の唯一の追加:

StackOverflow質問インターフェイスに質問を入力することは、あなたがそれを完全に考えていることを確認するための素晴らしい方法です。それをきちんと尋ねるのに十分に明確にレイアウトする過程で私が自分のために答えた質問の数をあなたに伝えることは始められません。私が始めて提出した質問は非常に多く、私が実際に尋ねた質問よりも多くなっています。

だから、先に進んで、(もちろん、検索した後)質問して、実際に「送信」を押すことに執着しないでください。


+1-これは誇張することはできません。これは、質問を慎重に作成することが非常に重要であるもう1つの理由です。(そして、サイドバーの自動回答提案アルゴリズムは、他の関連する質問をさらに正確に表示します)。
kmote

@kmote-その事が大好きです。それは私にとって非常に多くの問題を解決しました。
ダン・レイ

1
私の人生の物語..提出する前に非常に多くの問題を解決しました。
アユシュゴヤル

20

Stack Overflow、および他のすべてのStack Exchangeサイトには、質問するための一連のガイドラインがあります

  • 宿題をする
  • 具体的に
  • 他の人との関連性を高める
  • 話題になる
  • 心を開いておく

「宿題をする」とは、すぐに質問するべきではないことを意味します。「具体的になる」とは、問題の領域を十分に理解して簡潔に説明できることを意味します。そうでない場合は、「宿題をする」が適用されます。「心を開いておく」とは、問題に関連するとは思わなかった解決策を探求する準備ができていることを意味します。

スタックオーバーフローについて尋ねることではなく、あなたの質問が良いかどうかです。基本的に、必要な努力はそれ自体が学習体験です。正しく行えば、重複を検索するだけでいくつかの新しいことを学ぶことができるでしょう。そうでない場合は、pingを実行して、2〜3票の票を得ました。:P


1
私は過去数ヶ月間にこのファミリーのウェブサイト(StackOverflowなど)を使い始めたばかりで、私は1つのことに非常に感銘を受けたと言わざるを得ません。つづりと一貫した文章です。少数の登録メンバーのみが母国語として英語を使用していますが、事実上誰もが彼らの書き方に非常に注意しています。巨大なユーザーベースがそのような品質を維持しているインターネット上の場所は他にないと思います。変ですが、印象的です。PS:しばらくこれを言いたかったのですが、どういうわけか話題にするための場所が必要でした:)。
ラドゥムルゼア

1
@SoboLAN wikiの哲学です。マイナーなスペルミスでも、お互いの投稿は常に編集されます。英語を母国語としない人として、私が最初にStack Exchangeに参加したとき、他の人の間違いから学び、人々がどのような編集を行ったかを観察する習慣を作りました。Stack Exchangeエクスペリエンスのもう1つの良い副産物だと思います。誰が知っているか、いつか私は英語に自信を持ち、English Language&Usage Stack Exchangeで答えを試すことができるかもしれません。:P
ヤニス

3

個人的に、プログラミングを始めたとき、私は多くの時間を費やして物事を解明しようとしました。私は何かを修正しようとして何時間も費やすことができました。私はそれらの時間は生産的でないとは思わず、その時間にオンラインで物事を探す方法を学び、プログラミング言語がどのように機能するかについての洞察を得ました。だから私はあまりにも早くあなたに学習経験を奪うと思うと思います。プログラミングに入るには非常に長い時間がかかります。

次に、特定の問題に数時間を費やすことは長くないことを尋ねるのかという質問があります(私は学問的背景から来ていることに注意してください、おそらく商業的背景ではこれは受け入れられません)。

そして、あなたがSOで質問をするときは、質問に時間をかけてください:

  • エラーがある場合は、エラーの正確なテキストを投稿してください。また、エラーにつながるコード、できれば任意のコンピューターで実行される自己完結型の例を投稿してください。
  • すでに試したことを示します。
  • 使用するソフトウェアのバージョン:コンパイラバージョン、Pythonのバージョン。

これらはほんの数点です。SOの人々を尊重する質問に時間をかけることで、あなたは彼らの時間を無料で使います。さらに重要なのは、問題を構造化することです。これですでに問題が解決しているかもしれません:)。

ちょうど私の2 ct ...


1

ここで重要なことは、あなたが何にこだわっているかを本当に理解し、主要な問題に到達しようとすることだと思います。本当の問題が実際に根付いた後、Stack Overflowを使用することが最初に行うことの1つです。

しかし、それは質問ではありません。

すべてのすばらしい答えを探しています。チャンスは、あなたが今抱えている問題であり、他の誰かが持っているものであり、彼らはすでにあなたの質問をしました。Stack Overflowを使用せざるを得ない場合は、困っているときに質問するのは単なるサイトではないことに注意してください。また、コンピュータープログラミングに関する非常に優れた情報のリポジトリでもあります。検索機能を使用します。

いくつかの異なる用語/キーワードで検索してもまだ空いたままで、宿題をしてコードのサンプルを見せて、見せびらかすことができ、あなたの質問が本当に重複していないことを本当に確信しているなら、スタックオーバーフローに関する質問。それは私が最後にチェックしたサイトです。


1

これは完全に主観的なものですが、使用方法に関する基本的なルールは次のとおりです。

1)私の家は燃えていますか?明らかに、文字通りではありませんが、これはただの即時の解決策ではなく、緊急の解決策を必要とする問題です。もしそうなら、それに亀裂を取り、すぐに失敗し、可能な限り最高の助けを得る。

2)これは私が研究できるものですか?時間があり、研究可能なものであれば、そのルートをたどります。これには、無料のリソースとしてSOが含まれます。素晴らしいです。ウィキもそうですし、他の数十のリソースも同様です。
多くのことを読んで、問題に対するさまざまなアプローチがある場合に理解するのに役立ちますが、最初に既存の知識を問題に再適用できるかどうかを確認しようと時間を費やしてから、新しいメンタルツールを構築しました。

3)これは私のスキルセットの範囲外であるか、おそらく100人の人がこれまでに見たことがありますか?これは頻繁に起こります。私は通常、1、2時間研究してから、こちらまたは他のリソースにアクセスします。

座って研究をして時間を費やす方が高貴であることは知っていますが、多くの場合、時間の制約があり、システムを「だます」ように感じても、利用可能なすべてのリソースを使用します。


0

「どのくらいの速さ」は、その性質上、主観的になります。誰もが少し異なる意見を持つようになるでしょう。

実際のコードを見て約5分で問題の原因を発見できない場合は、少なくともGoogleで調べます。適切な検索で答えが見つからない場合は、SOで質​​問を書き始めます。

実際にその質問を投稿しなくてもよいことに注意してください。質問を書かれた言葉にまとめる際に、解決策が提示されたことがあり、実際にあなたたちにそれを伝える必要はありませんでした。


0

質問は早めに書くこともできますが、問題の原因を適切に調査するまで投稿しないでください。排除したものと、それらを排除した方法を書きます。他の同様の質問も確認してください。質問を本当に投稿したい場合は、なぜ同じ質問ではないのかを説明してください。

それを適切に行うと、自分の問題を何度も解決できることに気付くでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.