Quando preso, com que rapidez alguém deveria recorrer ao Stack Overflow? [fechadas]

51

Estou desenvolvendo iOS por auto-aprendizagem através do curso iTunes U CS193p, e muitas vezes me vejo preso. Eu tenho tentado me livrar de mim mesmo, mas pode levar horas e horas para descobrir o que estou fazendo de errado, seja faltando um método ou não conseguindo realmente um conceito completo como delegação.

Estou preocupado que eu esteja perdendo muito tempo, e seria melhor ir ao Stack Overflow logo depois de ficar preso para poder seguir em frente.

Em sua experiência, perguntar rapidamente no Stack Overflow dificulta o processo de aprendizado ou o aprimora?

    
por MaxGabriel 06.02.2012 / 06:45
fonte

8 respostas

35

Quando estou trabalhando com novos desenvolvedores, incentivo-os a fazer perguntas depois de cinco ou dez minutos em que não estão progredindo.

Isso tem dois benefícios: o primeiro é que eles podem obter ajuda sem muito tempo gasto olhando para um problema, mas eles só perguntam quando não estão chegando a algum lugar. Se eles estão aprendendo - mesmo em algo que não é a resposta final - eles são muito mais propensos a manter essa informação útil.

O segundo é que depois de tanto tempo eles têm que explicar o problema para outra pessoa. Isso resolve uma enorme proporção de problemas, porque passar por ele de ponta a ponta significa que você pode identificar o que perdeu em seu trabalho anterior.

Como parece que você está fazendo isso sozinho, tente virar um brinquedo de pelúcia, ou o relógio, ou a parede, e perguntar sobre o problema. Explique como você faria a uma pessoa e veja se isso conserta as coisas.

Se isso não acontecer, e você não estiver fazendo progresso, pergunte a alguém. Passar mais de cinco ou dez minutos presos é um desperdício de tempo - a menos que você faça alguma outra coisa, depois volte ao problema com uma mente nova.

    
por 06.02.2012 / 06:50
fonte
22

Minha única adição às ótimas respostas de todos os outros:

DIGITAR a sua pergunta na interface da pergunta do StackOverflow é uma ótima maneira de ter certeza de que você está pensando nela completamente. Não posso começar a dizer-lhe quantas perguntas respondi por mim mesmo no processo de explicá-las com clareza suficiente para fazê-las corretamente. As perguntas que comecei e não enviei VASTLY superam as que eu realmente pedi.

Então, eu diria que vá em frente e pergunte (depois de pesquisar, é claro), apenas não se apegue a realmente clicar em "Enviar".

    
por 06.02.2012 / 14:34
fonte
20

Stack Overflow e todos os outros sites do Stack Exchange têm um conjunto de diretrizes para perguntas frequentes :

  • Do your homework
  • Be specific
  • Make it relevant to others
  • Be on-topic
  • Keep an open mind

"Faça o seu trabalho de casa" implica que você não deve ser muito rápido para perguntar. "Seja específico" implica que você entende o domínio do seu problema bem o suficiente para descrevê-lo de forma concisa. Se não, "faça sua lição de casa" se aplica. "Mantenha a mente aberta" implica que você deve estar pronto para explorar soluções que você nunca pensou que seriam relevantes para o seu problema.

Portanto, não se trata de perguntar no Stack Overflow, mas se as suas perguntas são boas. Essencialmente, o esforço requerido é uma experiência de aprendizagem em si. Se você fizer certo, provavelmente aprenderá algumas coisas novas apenas procurando por duplicatas. Se não, ping me, eu tenho alguns votos para baixo de sobra. : P

    
por 06.02.2012 / 07:10
fonte
3

Pessoalmente, quando comecei a programar, passei muito tempo tentando entender as coisas. Eu poderia passar horas tentando consertar alguma coisa. Eu não vejo essas horas como não sendo produtivas, naquelas horas eu aprendi a procurar coisas on-line e eu realmente ganhei conhecimento de como minha linguagem de programação funcionava. Então, eu acho que perguntar rápido demais em SO rouba você de uma experiência de aprendizado. Entrar em programação leva muito tempo.

Depois, há uma questão de quanto tempo perguntar, eu diria que passar algumas horas em um determinado problema não é longo (note que eu venho de uma formação acadêmica, talvez em experiências comerciais isso é menos aceito).

E quando você fizer uma pergunta sobre SO, invista tempo na pergunta:

  • Quando você tiver um erro, poste o texto exato do erro. Além disso, poste o código que leva ao erro, de preferência um exemplo independente que seja executado em qualquer computador.
  • Mostre o que você já tentou.
  • Mencione as versões do software que você usa: versões do compilador, versão do python.

Estes são apenas alguns pontos. Investindo tempo em uma questão que você respeita as pessoas em SO, você usa seu tempo de graça. Mais importante, você estrutura seu problema. Isso já pode resolver seu problema:).

Apenas meus 2 ct ...

    
por 06.02.2012 / 07:21
fonte
1

Eu acredito que o importante aqui é realmente entender o que você está preso e tentar chegar ao problema principal. Depois que você realmente entender o problema real, usar o Stack Overflow é uma das primeiras coisas que faço.

Mas não está fazendo uma pergunta.

Ele está pesquisando todas as ótimas respostas. As chances são de que o problema que você está tendo agora foi enfrentado por outra pessoa e eles já fizeram sua pergunta. Se você se sentir obrigado a usar o Stack Overflow, lembre-se de que não é apenas um site para você fazer uma pergunta quando estiver perplexo. É também um repositório de informações realmente importantes sobre programação de computadores; use a função de pesquisa.

Se você pesquisou com um par de termos / palavras-chave diferentes e ainda obteve nilch, fez sua lição de casa e tem exemplos de código que podem ser exibidos e você tem certeza de que sua pergunta não é duplicada , em seguida, faça sua pergunta no Stack Overflow. Isso é o que o site está lá por último eu verifiquei.

    
por 06.02.2012 / 11:35
fonte
1

É totalmente subjetivo, mas aqui estão minhas regras básicas para meu uso.

1) A minha casa está pegando fogo? Obviamente, não literalmente, mas este é um problema que precisa não apenas de uma solução imediata, mas de uma solução de emergência. Em caso afirmativo, faça um teste, falhe rapidamente, obtenha a melhor ajuda possível.

2) Isso é algo que eu posso pesquisar? Se é algo em que eu tenho tempo e é pesquisável, vou seguir esse caminho, e isso inclui SO como um recurso complementar. O SO é ótimo, assim como o Wiki, assim como as outras dezenas de recursos. Leia lotes, ajuda sua compreensão quando há diferentes abordagens para um problema, mas primeiro gasta o tempo tentando ver se seu conhecimento existente pode ser reaplicado ao problema e, em seguida, você construiu uma nova ferramenta mental.

3) Isso é algo que está fora do meu conjunto de habilidades / é tão obscuro que provavelmente há 100 pessoas que já viram isso? Isso acontece e acontece com frequência. Geralmente, vou tentar pesquisar por uma ou duas horas, depois dirijo-me aqui ou a outros recursos.

Eu sei que é mais nobre sentar e fazer a pesquisa e gastar o tempo, mas muitas vezes temos restrições de tempo e você usa todos os recursos disponíveis, mesmo que pareça "enganar" o sistema.

    
por 06.02.2012 / 17:57
fonte
0

"Com que rapidez" será, por sua natureza, subjetiva. Todo mundo vai ter uma opinião ligeiramente diferente.

Se você não conseguir descobrir a causa do problema em cerca de cinco minutos olhando o código real, eu pelo menos o usaria. Se uma boa pesquisa não tiver as respostas, eu começaria a escrever sua pergunta no SO.

Tenha em mente que não há problema em postar essa pergunta; Tem havido momentos em que, ao colocar a questão em palavras escritas, a solução se apresentou e eu não tive que realmente colocá-lo para vocês.

    
por 06.02.2012 / 16:13
fonte
0

Você pode escrever sua pergunta com antecedência, mas não deverá postá-la até que tenha pesquisado adequadamente a origem do problema. Escreva as coisas que você eliminou e como as eliminou. Você também deve verificar outras perguntas semelhantes e, se realmente quiser postar sua pergunta, explique por que essa não é a mesma pergunta.

Se você fizer isso corretamente, descobrirá que muitas vezes resolverá seu próprio problema.

    
por 06.02.2012 / 17:27
fonte