SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Downloaden Sie, um offline zu lesen
Aprendendo com
projetos open source
Mauro quem….
maurogeorge.com.br
História
shoulda-matchers
Descoberto a necessidade de dar
suporte a nova versão do Rails
Suporte ao novo Rails
Descoberto bug no Rails
Reportando issue no Rails
Agradecimento da thoughtbot
Menção no post e adesivos =D
Experiência
Entender o shoulda-matchers por baixo dos
panos
Criar um novo matcher para o shoulda-matchers
Utilizar uma versão do Rails ainda em
desenvolvimento
Aprendi um pouco sobre Rails por baixo dos
panos
Criei uma issue no Rails
Disclaimer
Baseado em fatos reais
Sua primeira
contribuição
Git + Github
Começe pelos projetos que já utiliza
Busque por issues
Documentação
Contribuição com a
documentação ao invés
de um Post
$ git clone
Rode o projeto
Issue ao rodar
o projeto
CONTRIBUTING
Faça suas
mudanças
Faça o fork
Faça o PR
Faça o PR
Faça sua mudança em um
branch
Deixe claro o que está
resolvendo
Adicione testes nas suas
mudanças
Comemore
A comunidade
A comunidade
Owner - O criador do projeto
Maintainers e Collaborators - São os
mais ativos no projeto
Contributors - Quem já teve um PR
aceito no projeto
Membros da comunidade - Quem
está envolvido nas discussões
Meu PR não foi
aceito :(
Não se sinta mal
Entenda o motivo, o racional por
trás da decisão, não leve para o
pessoal
Faça prova de
conceito
E leve para a comunidade como um PR
O review é do
código e não seu
Pode demorar até algo acontecer
Faça mudanças pequenas
Faça mudanças pequenas
Projeto estava pedindo ajuda
PRs menores foram aceitos
Decidi abraçar uma grande
mudança, mesmo sabendo dos
riscos
Velocidade X Qualidade
Não leve para o
pessoal e siga em
frente
Oh My! Eles vão ver meu código
será que tá
bom?
Aprenda com os
erros e melhore
Acompanhe os repositorios
Que quer contribuir ou que já
contribuiu
Responda
Issues
Tudo bem em
não contribuir <3
Code review
Code review
Aceite que muitas das discussões são opiniões
então discuta os tradeoffs
Lembre-se sempre que do outro lado está falando
com pessoas
Faça perguntas e não demandas
Evite comparar “meu”, “seu”, “não meu”
Seja o mais claro possível
Agradeça
Não leve para o pessoal
Trabalhar em um
ou mais projetos?
Ritmo
sustentável
Ritmo sustentável
Programe-se
Programe-se
Estude coisas novas
Faça posts
Contribua em projetos open
source
Se divirta =D
A gem X é uma
merd*!
Provide Options, Don't Make Lame Excuses
Não crie projetos,
abrace os existentes
Crie issues em
caso de problemas
Crie issues
Busque por issues existentes
Seja bem claro, qual o comportamento
esperado e o que ocorreu
Inclua o máximo de informações:
Sistema operacional, versão dos
projetos, versão de dependencias etc
Cole o erro, o stacktrace
O que ganho
com isso?
O que ganho com isso?
É um modo de aprender assim
como livro, cursos, posts etc.
Contato com pessoas da
comunidade de diversas partes do
mundo e empresas diferentes
Ler código dos outros é uma
excelente forma de aprender
Obrigado!
Referências
https://guides.github.com/overviews/os-
contributing/
https://github.com/thoughtbot/guides/tree/
master/code-review
https://medium.com/@raphamorim/como-ser-
um-desenvolvedor-transante-parte-i-
e010c125847f
https://medium.com/@raphamorim/como-ser-
um-desenvolvedor-descolado-6d085bcb36e1

Weitere ähnliche Inhalte

Ähnlich wie Aprendendo com projetos open source

Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014
Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014
Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014Gilmar PSL
 
Projeto de API, por Gilmar P.S
Projeto de API, por Gilmar P.SProjeto de API, por Gilmar P.S
Projeto de API, por Gilmar P.SThoughtworks
 
Introdução a Padrões de Projeto
Introdução a Padrões de ProjetoIntrodução a Padrões de Projeto
Introdução a Padrões de ProjetoEduardo Mendes
 
apresentação 21212 Aceleradora — Lean UX Workshop
apresentação 21212 Aceleradora — Lean UX Workshopapresentação 21212 Aceleradora — Lean UX Workshop
apresentação 21212 Aceleradora — Lean UX WorkshopPaulo Floriano
 
Introdução a Desenvolvimento Orientado a Testes ( TDD )
Introdução a Desenvolvimento Orientado a Testes ( TDD )Introdução a Desenvolvimento Orientado a Testes ( TDD )
Introdução a Desenvolvimento Orientado a Testes ( TDD )Iure Guimaraes
 
Revolucao Agile - UFSCar
Revolucao Agile - UFSCarRevolucao Agile - UFSCar
Revolucao Agile - UFSCarLuiz Ribeiro
 
Caminho Do Desenvolvedor Amador Para o Profissional
Caminho Do Desenvolvedor Amador Para o ProfissionalCaminho Do Desenvolvedor Amador Para o Profissional
Caminho Do Desenvolvedor Amador Para o ProfissionalGiovanni Bassi
 
COMO SE PARECE O PROCESSO DE SOLUÇÃO EM UMA STARTUP EM CRESCIMENTO
COMO SE PARECE O PROCESSO DE SOLUÇÃO EM UMA STARTUP EM CRESCIMENTOCOMO SE PARECE O PROCESSO DE SOLUÇÃO EM UMA STARTUP EM CRESCIMENTO
COMO SE PARECE O PROCESSO DE SOLUÇÃO EM UMA STARTUP EM CRESCIMENTOLeonardo Salvador
 
Guru SP: Decodificando o code review
Guru SP: Decodificando o code reviewGuru SP: Decodificando o code review
Guru SP: Decodificando o code reviewElaine Naomi
 
A influência do Test-Driven Design no projeto de classes e no design em siste...
A influência do Test-Driven Design no projeto de classes e no design em siste...A influência do Test-Driven Design no projeto de classes e no design em siste...
A influência do Test-Driven Design no projeto de classes e no design em siste...Toni Esteves
 
Carreira em testes de software
Carreira em testes de softwareCarreira em testes de software
Carreira em testes de softwareJoyce Bastos
 
2023_Enanpad_Workshop Ferramentas de IA na Pesquisa.pdf
2023_Enanpad_Workshop Ferramentas de IA na Pesquisa.pdf2023_Enanpad_Workshop Ferramentas de IA na Pesquisa.pdf
2023_Enanpad_Workshop Ferramentas de IA na Pesquisa.pdfAnatalia Saraiva Martins Ramos
 
Protótipos mobile na prática
Protótipos mobile na práticaProtótipos mobile na prática
Protótipos mobile na práticaRichard Jesus
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agileAlini Rebonatto
 
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Taller Negócio Digitais
 

Ähnlich wie Aprendendo com projetos open source (20)

Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014
Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014
Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014
 
Projeto de API, por Gilmar P.S
Projeto de API, por Gilmar P.SProjeto de API, por Gilmar P.S
Projeto de API, por Gilmar P.S
 
Introdução a Padrões de Projeto
Introdução a Padrões de ProjetoIntrodução a Padrões de Projeto
Introdução a Padrões de Projeto
 
apresentação 21212 Aceleradora — Lean UX Workshop
apresentação 21212 Aceleradora — Lean UX Workshopapresentação 21212 Aceleradora — Lean UX Workshop
apresentação 21212 Aceleradora — Lean UX Workshop
 
Oracle x PostgreSQL
Oracle x PostgreSQLOracle x PostgreSQL
Oracle x PostgreSQL
 
Introdução a Desenvolvimento Orientado a Testes ( TDD )
Introdução a Desenvolvimento Orientado a Testes ( TDD )Introdução a Desenvolvimento Orientado a Testes ( TDD )
Introdução a Desenvolvimento Orientado a Testes ( TDD )
 
Revolucao Agile - UFSCar
Revolucao Agile - UFSCarRevolucao Agile - UFSCar
Revolucao Agile - UFSCar
 
Caminho Do Desenvolvedor Amador Para o Profissional
Caminho Do Desenvolvedor Amador Para o ProfissionalCaminho Do Desenvolvedor Amador Para o Profissional
Caminho Do Desenvolvedor Amador Para o Profissional
 
Conhecendo o Ruby on Rails
Conhecendo o Ruby on RailsConhecendo o Ruby on Rails
Conhecendo o Ruby on Rails
 
COMO SE PARECE O PROCESSO DE SOLUÇÃO EM UMA STARTUP EM CRESCIMENTO
COMO SE PARECE O PROCESSO DE SOLUÇÃO EM UMA STARTUP EM CRESCIMENTOCOMO SE PARECE O PROCESSO DE SOLUÇÃO EM UMA STARTUP EM CRESCIMENTO
COMO SE PARECE O PROCESSO DE SOLUÇÃO EM UMA STARTUP EM CRESCIMENTO
 
Guru SP: Decodificando o code review
Guru SP: Decodificando o code reviewGuru SP: Decodificando o code review
Guru SP: Decodificando o code review
 
Quem e dev ops
Quem e dev opsQuem e dev ops
Quem e dev ops
 
A influência do Test-Driven Design no projeto de classes e no design em siste...
A influência do Test-Driven Design no projeto de classes e no design em siste...A influência do Test-Driven Design no projeto de classes e no design em siste...
A influência do Test-Driven Design no projeto de classes e no design em siste...
 
Carreira em testes de software
Carreira em testes de softwareCarreira em testes de software
Carreira em testes de software
 
2023_Enanpad_Workshop Ferramentas de IA na Pesquisa.pdf
2023_Enanpad_Workshop Ferramentas de IA na Pesquisa.pdf2023_Enanpad_Workshop Ferramentas de IA na Pesquisa.pdf
2023_Enanpad_Workshop Ferramentas de IA na Pesquisa.pdf
 
Tdd e projeto_comperio
Tdd e projeto_comperioTdd e projeto_comperio
Tdd e projeto_comperio
 
PHPZEIRO: Adote um framework
PHPZEIRO: Adote um frameworkPHPZEIRO: Adote um framework
PHPZEIRO: Adote um framework
 
Protótipos mobile na prática
Protótipos mobile na práticaProtótipos mobile na prática
Protótipos mobile na prática
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
 

Mehr von Mauro George

Rails front-end com bourbon e sua familia @ Front in Maceió 2014
Rails front-end com bourbon e sua familia @ Front in Maceió 2014Rails front-end com bourbon e sua familia @ Front in Maceió 2014
Rails front-end com bourbon e sua familia @ Front in Maceió 2014Mauro George
 
RSpec Best Friends @ Rupy Natal 2014
RSpec Best Friends @ Rupy Natal 2014RSpec Best Friends @ Rupy Natal 2014
RSpec Best Friends @ Rupy Natal 2014Mauro George
 
Testes automatizados o time e o cliente saem ganhando! @ Agile Vale 2014
Testes automatizados o time e o cliente saem ganhando! @ Agile Vale 2014Testes automatizados o time e o cliente saem ganhando! @ Agile Vale 2014
Testes automatizados o time e o cliente saem ganhando! @ Agile Vale 2014Mauro George
 
O cliente e o time juntos por um só objetivo! @ CONADEV 2014
O cliente e o time juntos por um só objetivo! @ CONADEV 2014O cliente e o time juntos por um só objetivo! @ CONADEV 2014
O cliente e o time juntos por um só objetivo! @ CONADEV 2014Mauro George
 
RSpec Best Friends @ TDC São Paulo 2014
RSpec Best Friends @ TDC São Paulo 2014RSpec Best Friends @ TDC São Paulo 2014
RSpec Best Friends @ TDC São Paulo 2014Mauro George
 
RSpec Best Friends @ TDC Florianópolis 2014
RSpec Best Friends @ TDC Florianópolis 2014RSpec Best Friends @ TDC Florianópolis 2014
RSpec Best Friends @ TDC Florianópolis 2014Mauro George
 
Model of the colossus @ Rupy Brazil 2013
Model of the colossus @ Rupy Brazil 2013 Model of the colossus @ Rupy Brazil 2013
Model of the colossus @ Rupy Brazil 2013 Mauro George
 
Model of the colossus @ Café com Dev
Model of the colossus @ Café com DevModel of the colossus @ Café com Dev
Model of the colossus @ Café com DevMauro George
 
Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012
Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012
Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012Mauro George
 

Mehr von Mauro George (9)

Rails front-end com bourbon e sua familia @ Front in Maceió 2014
Rails front-end com bourbon e sua familia @ Front in Maceió 2014Rails front-end com bourbon e sua familia @ Front in Maceió 2014
Rails front-end com bourbon e sua familia @ Front in Maceió 2014
 
RSpec Best Friends @ Rupy Natal 2014
RSpec Best Friends @ Rupy Natal 2014RSpec Best Friends @ Rupy Natal 2014
RSpec Best Friends @ Rupy Natal 2014
 
Testes automatizados o time e o cliente saem ganhando! @ Agile Vale 2014
Testes automatizados o time e o cliente saem ganhando! @ Agile Vale 2014Testes automatizados o time e o cliente saem ganhando! @ Agile Vale 2014
Testes automatizados o time e o cliente saem ganhando! @ Agile Vale 2014
 
O cliente e o time juntos por um só objetivo! @ CONADEV 2014
O cliente e o time juntos por um só objetivo! @ CONADEV 2014O cliente e o time juntos por um só objetivo! @ CONADEV 2014
O cliente e o time juntos por um só objetivo! @ CONADEV 2014
 
RSpec Best Friends @ TDC São Paulo 2014
RSpec Best Friends @ TDC São Paulo 2014RSpec Best Friends @ TDC São Paulo 2014
RSpec Best Friends @ TDC São Paulo 2014
 
RSpec Best Friends @ TDC Florianópolis 2014
RSpec Best Friends @ TDC Florianópolis 2014RSpec Best Friends @ TDC Florianópolis 2014
RSpec Best Friends @ TDC Florianópolis 2014
 
Model of the colossus @ Rupy Brazil 2013
Model of the colossus @ Rupy Brazil 2013 Model of the colossus @ Rupy Brazil 2013
Model of the colossus @ Rupy Brazil 2013
 
Model of the colossus @ Café com Dev
Model of the colossus @ Café com DevModel of the colossus @ Café com Dev
Model of the colossus @ Café com Dev
 
Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012
Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012
Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012
 

Aprendendo com projetos open source