Nota: Antes de ler isto, você pode querer ler meu guia sobre 6 principais dicas para resolver qualquer erro de engenharia de software.
Além disso, faça este compromisso: "Eu juro solenemente que depois de fazer uma pergunta, passarei pelo menos 5 minutos tentando responder à pergunta de outra pessoa. Consultarei a página 'Como responder uma pergunta' antes de fazê-lo."
A internet é nossa documentação, e queremos tratá-la como tal. Toda pergunta específica que tivermos deve poder ser encontrada digitando-a em uma barra de pesquisa web.
Agora, não existem perguntas "ruins", mas existem perguntas mal formatadas. Uma pergunta mal formatada tem baixa chance de ser respondida, baixa chance de ser descoberta e pode "entulhar" fóruns e quadros de discussão. Então, vamos nos esforçar para fazer perguntas bem formatadas!
Aqui estão os passos para fazer uma pergunta bem formatada:
- Pesquise para ver se a pergunta já foi feita
- Saiba onde postar sua pergunta
- Faça um título que resuma o problema
- Introduza o problema antes de escrever qualquer código
- Certifique-se de formatar o código usando crases (```) e uma tag de linguagem
- Certifique-se de copiar e colar seu código em vez de usar screenshots
- Certifique-se de que seu código seja um exemplo mínimo
Devemos pensar na internet como um documento gigante. Se uma pergunta já foi feita e você pode encontrá-la na primeira página do seu mecanismo de busca, ótimo! Não faça a pergunta novamente!
E se não estiver na primeira página dos seus resultados de pesquisa, então sim, você deve 100% fazer a pergunta em um fórum mesmo que saiba a resposta.
Queremos que toda pergunta técnica já feita seja:
- Indexada por mecanismos de busca
- Fácil de encontrar
- Fácil de reproduzir
Assim, em 6 meses, quando você esquecer a resposta, pode simplesmente pesquisar no Google e ela aparecerá!
Não queremos que haja múltiplas perguntas, pois isso pode fragmentar onde as pessoas procuram! Queremos adicionar respostas, comentários, etc., tudo em um só lugar.
Eu categorizo as perguntas em três tipos:
- Perguntas específicas baseadas em código
- Perguntas teóricas genéricas
- Perguntas de "conhecimento interno", suporte ou emergência
É isso que buscamos. São perguntas reproduzíveis que ajudam o mundo. Você vai querer colocar essas perguntas em lugares como:
- A seção de discussões "Q&A" deste curso
- stackoverflow
- stack exchange ETH
São perguntas que geralmente podem ter uma resposta "certa" ou "várias respostas certas". Geralmente, não são perguntas muito opinativas.
São perguntas como "Como converter bytes32 para uint256".
São perguntas que provavelmente não têm uma resposta canônica. São perguntas como "em qual blockchain devo implantar?" ou "Como posso fazer um jogo que envolva muitos personagens aleatórios?". Elas pertencem a lugares como:
- A seção de discussões "Geral" deste curso
- Um fórum genérico como Reddit, Twitter
- Discord (como alguns que as pessoas começaram aqui)
Idealmente, você coloca essas em um fórum indexado como reddit e na seção de discussões gerais em vez do discord para que outros possam pesquisar os problemas na web.
São casos de uso muito específicos e 99% das suas perguntas não serão desse tipo. São perguntas como "acabamos de ser hackeados, pode nos ajudar?", "Quer se juntar à minha equipe", etc. São perguntas que provavelmente só se aplicam à sua situação e ao que você está fazendo. Elas pertencem a:
- DMs do Discord
- etc
E devem ser usadas com muita moderação.
Deve ser mínimo, pesquisável, indexável (por mecanismos de busca).
Ruim:
- Estou travado, por favor ajuda
Bom:
- Não Foi Possível Detectar Rede usando WSL & Ganache
Ruim:
- erro do hardhat
Bom:
- TypeError: Cannot read property 'length' of undefined - ao implantar contrato
No corpo da pergunta, diga o que você está tentando fazer, o que você fez e dê um resumo do seu problema.
Com este curso na aba de discussões, você também pode dar um timestamp de onde está tendo o problema (na verdade, por favor, forneça um timestamp com um link para a localização no vídeo).
Você vai querer formatar sua pergunta para que seja o mais fácil possível de ler! Especialmente com seus trechos de código.
Seu código deve aparecer assim: