SlideShare une entreprise Scribd logo
1  sur  58
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à Aprendendo com projetos open source @ RubyConf 2015

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
Eduardo Mendes
 
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
 
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
Alini Rebonatto
 

Similaire à Aprendendo com projetos open source @ RubyConf 2015 (20)

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
 
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
 
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 - ...
 

Plus de Mauro George

Plus de 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
 

Dernier

Dernier (6)

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

Aprendendo com projetos open source @ RubyConf 2015