Segredos do Github - incentivar a contribuição para seus projetos open source

Contribuir para projetos open source é algo que nos faz crescer muito como profissionais. Temos a oportunidade de aprender coisas novas e praticar o que muitas vezes não utilizamos comumente no nosso dia-a-dia. Como o Github nos ajuda com isso?

Cada pessoa que cria um projeto open source tem sua forma de escrever seus códigos, organizar a estrutura de arquivos, etc. Se o projeto é interessante, outras pessoas acabam ficando interessadas em contribuir. Mas a frustração vem quando descobrimos que cada um escreve seu código de uma forma: alguns usam tabs, outros espaços; uns preferem 4 espaços, outros preferem 2; colocar espaço entre o if e os () ou não, escrever oelse em uma nova linha, ou na mesma linha do fechamento do }, etc.

Nenhuma forma está errada! São apenas diferentes modos de escrever o mesmo código! Mas se um mesmo código tiver várias dessas formas misturadas, o projeto vai acabar virando uma zona!

Então, normalmente você coloca no README.md do seu repositório uma área de Como contribuir, citando os padrões que você utilizou no código, mostrando como criar uma nova feature, etc.

Mas no momento de empolgação, muitas vezes os devs nem chegam nessa parte do seu README, e acabam enviando pull requests com seus próprios padrões.

O arquivo CONTRIBUTING.md

Uma feature bem simples do Github, mas que pode ajudar a organizar melhor a colaboração nos seus projetos, é você adicionar um arquivo chamado CONTRIBUTING.md.

Nesse arquivo você coloca tudo o que a pessoa que vai colaborar com o seu projeto precisa saber.

Mas se o dev nem chega a ler o README, como ele vai saber que tem um arquivo separado com as informações de como contribuir?

É aí que está o pulo do gato! Quando você cria esse arquivo, sempre que alguém for criar uma nova issue ou enviar um pull request, olha o que vai aparecer pra ele:

O “guidelines for contributing“ que aparece na mensagem acima, é linkado diretamente com o seu arquivo CONTRIBUTING.md! Assim, sempre que alguém for colaborar, ele verá esse aviso, e ainda que não leia o README, verá que existem alguns padrões a serem seguidos para que ele possa contribuir! :D

Claro que pode acontecer do dev nem clicar pra ler, mas com certeza ele verá o aviso ;)

Já conhecia essa feature? Bacana, não? :D

Até a próxima!

Sobre o #1postperday: https://blog.da2k.com.br/2014/12/31/um-post-por-dia/

Tem alguma sugestão para os próximos posts do #1postperday? Deixe ela aqui: https://github.com/fdaciuk/fdaciuk.github.io/issues/1