top of page
  • Vanessa Moura

Quase tudo o que um usuário precisa saber sobre a Stack Overflow


Sim, esse tecladinho de ctrl c e v existe e funciona! Cortesia da empresa.

Aviso: atualmente trabalho como Community Manager na Stack Overflow, no entanto, este post é educacional e do meu ponto de vista como usuário do site, haverá opiniões pessoais baseadas em minhas experiências como usuário e não estou aqui representando o Stack Exchange ou falando em nome do mesmo, por isso não abordarei processos internos, apenas informações públicas de como utilizar os sites do SE. Todos os links e informações deste post podem ser encontrados nas páginas Stack Overflow e Stack Exchange. Algumas partes desta postagem são citações e traduções das próprias páginas de ajuda do Stack Overflow e estão todas devidamente linkadas.


 

Se você é desenvolvedor ou está estudando para se tornar um, grandes chances de que você já se encontrou procurando alguma resposta para alguma dúvida relacionada ao o que você está trabalhando no momento e encontrou a resposta em algum post na Stack Overflow. Mas o site tem suas peculiaridades e nem todos entendem corretamente o sistema e como contribuir de forma eficaz, fazendo perguntas fundadas para enfim receber aquela ajuda tão necessária.

Este post é um guia para entender essa plataforma, como fazer perguntas de qualidade e receber os privilégios necessários para poder contribuir com o site sem dores de cabeça, afinal, a demanda não pode esperar que tirem a suspensão da sua conta por postar pergunta de baixa qualidade no desespero...


Página inicial da Stack Overflow antes do lançamento.

A história da Stack Overflow


Stack Overflow é um site de perguntas e respostas para programadores profissionais e entusiastas. Foi criada em 2008 por Jeff Atwood e Joel Spolsky. O site apresenta perguntas e respostas sobre uma ampla gama de tópicos em programação de computadores.


Recentemente a Stack Overflow foi vendida para a Prosus em 2 de junho de 2021 por US $ 1,8 bilhão. O que trouxe uma nova perspectiva de crescimento da empresa devido ao grande investimento.


O nome do site foi escolhido por votação em abril de 2008 pelos leitores do Coding Horror, que é o blog do Atwood.


Devido ao sucesso do site e pelas dezenas de sub-comunidades que foram crescendo organicamente dentro do site Stack Overflow, surgiu a idéia de criar a Stack Exchange que estende o modelo de perguntas e respostas do Stack Overflow para outros assuntos além de programação e atualmente a Stack Exchange tem uma família de 177 sites de Q&A (Question & Answer) de assuntos variados, não se limitando a área de Tecnologia. Cada uma dessas comunidades é construída por pessoas apaixonadas por um tópico específico.


Resumo de como o site funciona


O site serve como uma plataforma para os usuários fazerem perguntas e também responder perguntas, por meio de um sistema de gamificação e participação ativa, para votar perguntas e respostas para cima (upvote) ou para baixo (downvote) semelhante ao Reddit e você pode editar perguntas e respostas de forma semelhante a um wiki. Os usuários do Stack Overflow podem ganhar pontos de reputação (reputation) e "emblemas" (badges); por exemplo, uma pessoa recebe 10 pontos de reputação por receber um upvote em uma pergunta ou uma resposta a uma pergunta, e pode receber badges por suas contribuições. Os usuários desbloqueiam novos privilégios com um aumento na reputação, como a capacidade de votar, comentar e até mesmo editar as postagens de outras pessoas.


Em março de 2021, o Stack Overflow tinha mais de 14 milhões de usuários registrados, e recebeu mais de 21 milhões de perguntas e 31 milhões de respostas.


Lógica do sistema da Stack Overflow


A Stack Overflow é um site é para obter respostas. Não é um fórum de discussão.


Exemplo ficticio tirado da página de Tour da Stack Exchange

Boas respostas são votadas e chegam ao topo, na sessão de respostas. E nas buscas, as melhores respostas aparecem primeiro para que sejam sempre fáceis de encontrar.


A pessoa que fez a pergunta pode marcar uma resposta como "aceita", mas aceitar uma pergunta não significa que essa seja a melhor resposta, apenas significa que funcionou para a pessoa que fez a pergunta.


Concentre-se nas perguntas sobre um problema real que você enfrentou. Inclua detalhes sobre o que você tentou e exatamente o que está tentando fazer.


Pergunte sobre...


  • Questões específicas dentro da área de especialização de cada site.

  • Problemas ou dúvidas reais que você encontrou.


Nem todas as perguntas funcionam bem nesse formato. Evite perguntas baseadas principalmente em opiniões ou que possam gerar uma discussão em vez de respostas.


As perguntas que precisam ser melhoradas podem ser fechadas até que alguém as conserte.


Evite perguntar sobre...


  • Perguntas que se baseiam principalmente em opiniões

  • Perguntas com muitas respostas possíveis ou que exigiriam uma resposta extremamente longa


Tags


A pergunta é sobre Git, então recebeu tags relacionadas ao assunto para fácil busca.

Todas as questões são marcadas com suas áreas temáticas. Cada um pode ter até 5 tags, pois uma pergunta pode estar relacionada a diversos assuntos. Clique em qualquer tag para ver uma lista de perguntas com essa tag ou vá para a lista de tags para navegar pelos tópicos de seu interesse.




Privilégios


Os privilégios controlam o que você pode fazer na Stack Overflow. Você ganha mais privilégios aumentando sua reputação de acordo com a sua interação no site. E esses são pontos que você recebe de outros usuários por postar perguntas e respostas úteis.


Aqui são alguns exemplos dos privilégios mais importantes e quantos pontos de reputação você precisa para receber esse privilégio, mas aqui tem a lista completa



  • Criar Post - 1 reps - Perguntar ou contribuir com uma resposta

  • Participar no Meta - 5 reps - Participar de discussões sobre a Stack Exchange: bugs, feedback, governança e etc...

  • Upvote - 10 reps - Você pode votar numa questão como algo útil.

  • Sinalizar um post - 15 reps - Trazer atenção dos moderadores ou comunidade sobre um post quando existir a necessidade.

  • Conversar nos chats - 20 reps - Você poderá conversar com outros membros que estão no chat daquele site.

  • Comentar - 50 reps - Além de responder, você poderá inserir comentários em perguntas ou respostas.

  • Downvote - 125 reps - Você pode votar negativamente em uma pergunta ou resposta quando elas não são úteis.


A polêmica que vejo em blogs e vídeos no YouTube de personalidades do mundo do desenvolvimento nas redes sociais sempre citam o quanto a Stack Overflow é um site tóxico. Mas depois que eu aprendi a utilizar o site, as regras e interações necessárias para alcançar privilégios de contribuir more, eu aprendi que a maioria das minhas frustrações eram devido a dois fatores importantes: A falta de conhecimento sobre o sistema como um todo e minha falta de noção sobre interação social.


Gamificações tem seus problemas, como qualquer outro sistema tem, mas esse é um dos mais eficientes quando em termos de comunidade, afinal, a Stack Overflow recebe milhões de acessos, tanto de usuários querendo encontrar respostas, como usuários criando conteúdo nos sites e muitos desses não entendem as regras e acabam postando spam e conteúdo de baixa qualidade (sem código, gramática péssima, spam...), sem regras fica difícil manter um site em pé e que as pessoas ainda consigam tirar algo de útil dele. Sinceramente, me sinto afobada quando tento usar fóruns que não têm nenhuma ferramenta de moderação, é simplesmente impossível encontrar o que você precisa entre todos os spams e trolls... Eu sei que as pessoas, em geral, podem ser difíceis de lidar, especialmente online, mas culpar apenas o sistema e alguns poucos usuários não é justo.


Temos moderadores que tentam cuidar de problemas menores (posts duplicados, spam, posts violando as regras do site), mas devido ao tanto de interações recebidos, fica difícil tanto para quem trabalha internamente, quanto para os moderadores cuidar de cada pequeno aspecto e com um sistema desses, a moderação é automática e quando a intervenção de uma pessoa é necessária, ela está disponível e é usada.


Um exemplo de como isso pode se tornar trabalhoso é: Ser moderador em grupos ou fóruns que não tem nenhum sistema. Eu já fui moderadora de diversos grupos no Facebook (e também Orkut, quando ainda existia) e é um trabalho integral, exige que você tenha que ler cada post e comentário, tem que analizar um por um... E eles não tem sistema de sinalização, as vezes você deixa algo escapar e de pouco em pouco, uma comunidade organizada se torna uma bagunça, o que leva os membros a perderem o interesse em fazer parte daquilo e muito menos colaborar.


Comentários


Outros privilégios são desbloqueados a medida que você interage com o site e colabora na organização dos posts para evitar spam, e até em níveis mais altos de reputação, a Stack Overflow confiará tanto em você, que você terá acesso a ferramentas especiais de moderação. Você poderá trabalhar em conjunto com moderadores da comunidade para manter o site focado e útil.



O objetivo é ter as melhores respostas para todas as perguntas, então se você ver perguntas ou respostas que podem ser melhoradas, você pode editá-las. Use as edições para corrigir erros, melhorar a formatação ou esclarecer o significado de uma postagem.


Uma vez que você tiver a reputação necessária para adicionar comentários, você pode comentar para pedir mais informações ou esclarecer uma pergunta ou resposta. Você sempre pode comentar sobre suas próprias perguntas e respostas. Depois de ganhar 50 de reputação, você pode comentar na postagem de qualquer pessoa. E isso acontece, pois muita gente confunde a sessão de comentários com sessão de respostas e vice e versa. Mas a área de respostas é designada para APENAS respostas, se você tem uma dúvida sobre a pergunta ou uma resposta especifica, use os comentários e não o campo de resposta, pois seu post será excluído.


Reputação


As duas atividades mais importantes no Stack Overflow são Perguntar e Responder - e nenhuma delas requer qualquer reputação!


A reputação é uma medida aproximada de quanto a comunidade confia em você; é conquistado ao convencer outros membros de que você sabe do que está falando. Quanto mais reputação você ganha, mais privilégios você ganha e mais ferramentas você terá acesso no site - nos níveis de privilégio mais altos, você terá acesso a muitas das mesmas ferramentas disponíveis para os moderadores do site. E isso é intencional, a idéia é a comunidade se administrar e só ter o suporte interno, afinal, quem constrói as comunidades são os membros dela.


Como conseguir reputação?


A principal forma de ganhar reputação é fazer boas perguntas e dar respostas úteis. Bem óbvio. Já os votos nessas postagens fazem com que você ganhe (ou às vezes perca) reputação. Um adendo: os votos para as postagens marcadas como “community wiki” não geram nenhuma reputação.


Você ganha reputação quando:


  • Questão upvoted: +10 reps

  • Resposta upvoted: +10 reps

  • Sua resposta foi marcada como “aceita”: +15 (+2 para quem aceitou)

  • A edição que você sugeriu foi aceita: +2 (até +1000 no total por usuário)

  • Bounty concedida à sua resposta: + valor total da recompensa do bounty

  • Uma de suas respostas recebe uma recompensa automaticamente: + metade do valor da recompensa

  • Bônus de associação de site: +100 em cada site quando você cria um perfil em outros sites da Stack Exchange


Você pode ganhar no máximo 200 votos de reputação por dia com a combinação de votos positivos, votos negativos e edições sugeridas. Mas os prêmios de recompensa, as respostas aceitas e os bônus de associação não estão sujeitos a esse limite diário de reputação.


Se você for um usuário experiente da rede Stack Exchange com 200 ou mais reputação em pelo menos um dos sites, você receberá o tal do bônus de associação inicial de +100 para superar as restrições básicas de novos usuários nos outros sites. Isso acontecerá automaticamente em todos os sites atuais do Stack Exchange em que você tenha uma conta e em qualquer outro site do Stack Exchange no momento do login.


Você perde reputação quando:

  • Sua pergunta foi rejeitada: -2

  • Sua resposta foi rejeitada: -2

  • Você votar contra uma resposta: -1

  • Você coloca uma recompensa em uma pergunta: - valor total da recompensa

  • Uma de suas postagens recebe 6 spam ou sinalizada como ofensivo: −100


Pontos a se considerar:


  • Todos os usuários começam com 1 ponto de reputação, e a reputação nunca pode cair abaixo de 1.

  • Aceitar sua própria resposta não aumenta sua reputação.

  • As postagens excluídas não afetam a reputação dos eleitores, autores ou qualquer outra pessoa envolvida, na maioria dos casos.

  • Se um usuário reverter um voto, a perda ou ganho de reputação correspondente também será revertido.

  • A reversão de votos como resultado de fraude eleitoral também retornará a reputação perdida ou ganha.


Badges


Além de ganhar reputação com suas perguntas e respostas, você recebe distintivos por ser um membro especialmente útil. Os badges aparecem em sua página de perfil, flair e suas postagens. Existem diversos badges diferentes e alguns sites tem seus próprios badges. Os badges são separados por tipos: Badges de perguntas, respostas, moderação, participação e etc...


Alguns exemplos de Badges para perguntas

Alguns exemplos de badges para respostas

O que é o tal do Meta?


Eu sei que com o burburinho do grupo Facebook trocando seu nome para Meta acabou confundindo muitas pessoas, e a palavra "Meta" virou um buzzword.


Meta é uma palavra que, como tantas outras coisas, devemos agradecer aos antigos gregos. Quando eles o usavam, meta significava “além”, “depois” ou “atrás”. O sentido de “além” de meta ainda perdura em palavras como metafísica, etc.


Então com essa mesma linha de raciocínio, temos os sites "meta", o mais utilizado é o Meta Stack Exchange, que é a parte do site onde os usuários discutem o funcionamento e as políticas da Stack Exchange ao invés de discutir a o tópico do site em si. Ele é separado das perguntas e respostas principais para reduzir o ruído, fornecendo um espaço legítimo para as pessoas perguntarem como e por que esse site funciona da maneira que funciona.


Cada um dos 177 sites tem seu próprio site Meta, ou seja, qualquer problema, dúvida relacionados ao funcionamento e regras da comunidade, você pode perguntar no site designado como meta para aquela comunidade. Para saber mais, você pode continuar lendo a respeito aqui.


Eu não achei uma lista de todos os sites metas, mas você consegue achar eles como nos exemplos abaixo:


Stack Overflow EN: https://meta.stackoverflow.com/

Stack Overflow PT: https://pt.meta.stackoverflow.com/

Stack Overflow RU: https://ru.meta.stackoverflow.com/

Stack Overflow JA: https://ja.meta.stackoverflow.com/

Stack Overflow ES: https://es.meta.stackoverflow.com/


E como uma comunidade nova é formada?


Essa era uma curiosidade minha, pois eu tenho esse espirito de iniciar as coisas e já pensei em milhares de idéias para comunidades. Mas é muito mais fácil do que executar todo o processo de se iniciar uma comunidade na Stack Exchange e vou explicar brevemente.


Existe um sistema a parte da Stack Overflow, onde eu gosto de chamar carinhosamente de "incubadora", mais conhecida como Area 51.



A área 51 é a zona de teste da Stack Exchange Network. É onde grupos de especialistas se reúnem para criar novos sites de perguntas e respostas que funcionam exatamente como o Stack Overflow. Para ler mais sobre todo o processo de proposta, fase de teste e o que é necessário atingir em metas para que o site seja graduado a site oficial na Stack Exchange, click aqui.


Copyright (Direitos autorais)


Uma pergunta sempre pinta em todo mundo é na hora de dar o famoso ctrl+c & ctrl+v em algum pedaço de código que você achou na internet: Será se você seria processado por furtar propriedade intelectual de alguém?


Como os snippets são (geralmente) protegidos por direitos autorais, isso levanta a questão de qual licença seria aplicável.


Há um post explicando como compartilhar trechos executáveis aqui.



O copyright existe automaticamente sempre que alguém cria uma “obra de autoria”. Isso inclui software. O único requisito é que a obra seja criação intelectual do autor, ou seja, havia alguma criatividade envolvida na obra.


Para software, quase sempre é esse o caso. Um programador precisa fazer muitas escolhas ao escrever um software, desde a escolha do fluxo do programa até a divisão da funcionalidade em funções e módulos, e essas escolhas fornecem a criatividade necessária.


Para trechos, isso pode ser diferente. Um snippet pode ser uma solução muito curta e simples. Por exemplo, um snippet pode mostrar como chamar uma API específica. Isso não seria criativo o suficiente, pois é "meramente" explicar ou demonstrar uma determinada solução.


Como regra geral, se dois programadores fornecerem substancialmente o mesmo trecho de código, o código não é criativo sob a lei de direitos autorais. Isso pode acontecer se o código for muito curto, mas um código mais longo para um ambiente altamente restrito (por exemplo, software incorporado que precisa chamar uma série de funções e executar determinadas ações bem definidas entre elas) também pode não ter direitos autorais por este motivo.


No entanto, um snippet com mais de uma ou duas linhas de chamadas de função padrão normalmente seria criativo o suficiente para direitos autorais. Já nesse nível, o programador deve fazer escolhas criativas. Existe uma regra prática freqüentemente citada afirmando que qualquer coisa menor que dez linhas de código é "trivial" e, portanto, não está protegida por direitos autorais, mas essa regra não é suportada por nenhuma lei de direitos autorais que eu conheça.


Se um snippet estiver protegido por direitos autorais, ele só pode ser usado com uma licença. Este