SlideShare uma empresa Scribd logo
1 de 134
Baixar para ler offline
code review
o que isso diz sobre a cultura dos
times de desenvolvimento?
Elaine Naomi Watanabe
Desenvolvedora de Software (Plataformatec)
Mestre em Ciência da Computação (USP)
twitter.com/elaine_nw
speakerdeck.com/elainenaomi
careers.plataformatec.com.br
expectativa
discutir desafios e boas práticas de code review
code review
processo de verificação de um sistema por meio da
análise do código fonte, realizada por humanos
https://en.wikipedia.org/wiki/Code_review
https://en.wikipedia.org/wiki/Code_review
code review
processo de verificação de um sistema por meio da
análise do código fonte, realizada por humanos
pelo menos um dos humanos não pode ter
alterado o código em revisão
importante
por que precisamos disso?
garantia de qualidade
processo que visa a criação de softwares confiáveis,
corretos e com valor de negócio
https://en.wikipedia.org/wiki/Software_quality
http://agilemodeling.com/essays/modelReviews.htm
Desenv.
custodamudança
tempo
Requisitos
Análise e
Design
Revisão Testes Produção
como fazer um code review?
Pair Programming
Pull Request
Pair Programming
Pull Request
interação
assíncrona
distribuída
Mesmo
local
Mesmo tempo Tempo diferente
Locais
diferentes
interação
síncrona
distribuída
interação
assíncrona
interação
face-a-face
Johansen, Robert. "Groupware: Future directions and wild cards."
Journal of Organizational Computing and Electronic Commerce 1.2 (1991): 219-227.
interação
assíncrona
distribuída
Mesmo
local
Mesmo tempo Tempo diferente
Locais
diferentes
interação
síncrona
distribuída
interação
assíncrona
interação
face-a-face
Johansen, Robert. "Groupware: Future directions and wild cards."
Journal of Organizational Computing and Electronic Commerce 1.2 (1991): 219-227.
Pair Programming
Pull Request
código + contexto de negócio
Pair Programming
Pull Request
histórico acessível das discussões
boas práticas
como pessoa autora
Título explicativo
Motivação (contexto de negócio)
Lista de dúvidas e discussões prévias
Gifs, screenshots das alterações
Pull requests
Mensagens de commits coerentes
Código completo, testado
Alterações pequenas
Single responsibility principle
Pull requests
como pessoa revisora
como pessoa revisora
Identificar defeitos (bugs)
Sugerir soluções alternativas, refatorações
Reforçar padrões de código e design
Validar funcionalidade (código + negócio)
Pull requests
Identificar problemas de segurança
Analisar impactos na performance
Sugerir documentações
Validação da qualidade do código-fonte
Pull requests
Código fácil de ler
Código fácil de entender
Código fácil de manter
Código de qualidade
Código fácil de ler
Código fácil de entender
Código fácil de manter
Código de qualidade
Dívida Técnica
Valor de negócio
Custodamudança
Tempo
How to Monetize Application Technical Debt, Gartner, 2011
outros aspectos importantes
informar outros times
sobre as alterações
team awareness
transferência de conhecimento
mentoria
processo de feedback
processo de feedback
textual
cuidado com possíveis equívocos
é para eu jogar fora a minha alteração?
ah, era só para apagar o espaço extra
cuidado para não levar
para o lado pessoal
o feedback é sobre o código,
e não sobre as pessoas
é importante comentários
mais explícitos, descritivos
collective code ownership
quem faz review, ajuda na
construção da solução também
comportamentos
tóxicos
podia ser pior?
com certeza!
podia ser pior?
com certeza!
mas, ainda sim,
é super tóxico
Comportamentos tóxicos
https://medium.com/@jgefroh/toxic-developers-considered-harmful-f7ea1494d4c0
Impedem inovações e ideias
Promovem a cultura da não-comunicação
Colocam o projeto e negócio em risco por centralizar informação
Comunicação agressiva (verbal, não-verbal e escrita)
"como assim você não sabe isso???"
"como deixaram você entrar aqui??"
"vou ter que te explicar de novo?"
como evitar isso?
Faça reviews como seres humanos
https://mtlynch.io/human-code-reviews-1/
https://mtlynch.io/human-code-reviews-2/
ask, don't tell
ok, é só perguntar
ok, é só perguntar
"Testes não são importantes pra vc?"
pergunta sarcástica, com julgamento pessoal
"Testes não são importantes pra vc?"
pergunta sarcástica, com julgamento pessoal
"Esse PR não pode ser mergeado"
comentário opinativo, sem ação concreta, imperativo
"Esse PR não pode ser mergeado"
comentário opinativo, sem ação concreta, imperativo
"Por que não criou uma nova classe?"
pergunta com julgamento pessoal ainda
"como você não pensou nisso?"
"Por que não criou uma nova classe?"
pergunta com julgamento pessoal ainda
"como você não pensou nisso?"
busque comentar
de maneira construtiva
construtivo
"O que você acha sobre extrair essa
lógica para uma classe? Acredito que
vai melhorar a legibilidade e reduzir a
complexidade"
sem suposição, tom de sugestão
"Não sei se você já analisou isso,
mas será que não vale a pena criar uma
nova classe para esse caso?"
"Sentiment analysis on comments has
provided evidence that comments with
negative tone are less likely to be useful"
Sadowski, Caitlin, et al. "Modern code review: a case study at Google." Proceedings of the 40th International
Conference on Software Engineering: Software Engineering in Practice. ACM, 2018
os conflitos na equipe vão acabar?
conflitos podem acontecer ainda
porque discordar não é um problema
cuidado com comentários
não-relacionados à entrega
por exemplo
comentários repetitivos
sobre estilo de código
podem ser substituídos por uma
ferramenta de análise de código
melhorias de design podem ser
entregues em outro pull request
além disso
se chegar a uma conclusão
estiver difícil
não se limite à ferramenta de review
videoconferência
presencialmente
http://blog.plataformatec.com.br/2018/11/trabalhando-com-times-distribuidos/
documente as decisões e
discussões offline
comente sempre de maneira
concisa e amigável
justifique suas sugestões
liste formas de resolver os problemas
se possível, com exemplos de código
e isso vale para
todas as pessoas envolvidas!
justifique se uma sugestão
não for aplicada
responda todos os comentários
preste atenção na forma
como você se comunica com seu time
muitas vezes não é óbvio que um
comentário ou comportamento é
prejudicial
exercite a empatia
e como organização?
dê visibilidade sobre o processo
de code review
preste atenção na forma
como seu time se comunica
comunicação
verbal, não verbal e escrita
formalize as recomendações,
crie guidelines sobre
aspectos comportamentais
estimule um ambiente colaborativo
o que cultura tem a ver
com tudo isso?
"A cultura não faz as pessoas,
as pessoas fazem a cultura"
Chimamanda Ngozi Adichie
por isso, cuidado com
comportamentos tóxicos
promova diversidade
diversidade ajuda a estimular empatia
e impacta positivamente
na inovação e lucro
https://assets.mckinsey.com/~/media/857F440109AA4D13A54D9C496D86ED58.ashx
Diversidade de gênero:
21% mais chances de resultados
acima da média do mercado
Diversidade cultural e étnica:
33% mais chances de resultados
acima da média do mercado
o ambiente também importa
fatores não-técnicos
pressão, sobrecarga de atividades,
experiência e contexto de negócio
Baysal, Olga, et al. "The influence of non-technical factors on code review." 2013 20th Working
Conference on Reverse Engineering (WCRE). IEEE, 2013.
times mais colaborativos,
softwares melhores
"Instead of imagining that our main
task is to instruct a computer what
to do, let us concentrate rather on
explaining to human beings what we
want a computer to do."
Donald Knuth. "Literate Programming (1984)" in Literate Programming. CSLI, 1992, pg. 99.
minhas referências
guidelines.plataformatec.com.br
github.blog/2015-01-21-how-to-write-the-perfect-pull-request
medium.com/palantir/19e02780015f
medium.com/@jgefroh/f7ea1494d4c0
forbes.com/sites/quora/2014/11/07/10-characteristics-of-a-bad-softwar
e-engineer
blog.plataformatec.com.br/2018/07/como-evitar-silos-de-conhecimento-
na-sua-codebase-e-levar-seus-code-reviews-para-o-proximo-nivel/
Mais referências:
Building an Iconic Company - Reed Hasting
youtube.com/watch?v=BsXXIfqbnRk
A Arquitetura (Peculiar) do Stack Overflow - Roberta Arcoverde
infoq.com/br/presentations/a-arquitetura-peculiar-do-stack-overflow
Implementing a Strong Code-Review Culture - Derek Prior
youtube.com/watch?v=PJjmw9TRB7s
Mais referências:
muito obrigada
speakerdeck.com/elainenaomi

Mais conteúdo relacionado

Mais procurados

Métricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareMétricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareLuiz Borba
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareRoberto Brandini
 
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santosminastestingconference
 
Desenvolvimento Orientado a Qualidade
Desenvolvimento Orientado a QualidadeDesenvolvimento Orientado a Qualidade
Desenvolvimento Orientado a QualidadeHuge
 
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
 
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...Rafael Chiavegatto
 
Workshop: Ouvindo usuários e stakeholders
Workshop: Ouvindo usuários e stakeholdersWorkshop: Ouvindo usuários e stakeholders
Workshop: Ouvindo usuários e stakeholdersNeue Labs
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
Qualidade e Teste de Software - O que preciso saber
Qualidade e Teste de Software - O que preciso saberQualidade e Teste de Software - O que preciso saber
Qualidade e Teste de Software - O que preciso saberKamilla Queiroz Xavier
 
Notification e result pattern
Notification e result patternNotification e result pattern
Notification e result patternAna Manzan
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeisQualister
 
Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Cristiano Schwening
 

Mais procurados (20)

Métricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareMétricas Em Fabricas De Software
Métricas Em Fabricas De Software
 
Apresentação TCC I - IES/SC 2013
Apresentação TCC I - IES/SC 2013Apresentação TCC I - IES/SC 2013
Apresentação TCC I - IES/SC 2013
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de Software
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de software
 
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
 
Metodologias ágeis de desenvolvimento
Metodologias ágeis de desenvolvimento Metodologias ágeis de desenvolvimento
Metodologias ágeis de desenvolvimento
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
Desenvolvimento Orientado a Qualidade
Desenvolvimento Orientado a QualidadeDesenvolvimento Orientado a Qualidade
Desenvolvimento Orientado a Qualidade
 
Crise de software2
Crise de software2Crise de software2
Crise de software2
 
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
 
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
 
Workshop: Ouvindo usuários e stakeholders
Workshop: Ouvindo usuários e stakeholdersWorkshop: Ouvindo usuários e stakeholders
Workshop: Ouvindo usuários e stakeholders
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
Crystal
CrystalCrystal
Crystal
 
Qualidade e Teste de Software - O que preciso saber
Qualidade e Teste de Software - O que preciso saberQualidade e Teste de Software - O que preciso saber
Qualidade e Teste de Software - O que preciso saber
 
Introdução ao design de teste de software
Introdução ao design de teste de softwareIntrodução ao design de teste de software
Introdução ao design de teste de software
 
Notification e result pattern
Notification e result patternNotification e result pattern
Notification e result pattern
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
 
Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?
 

Semelhante a Cultura e Code Review

Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...Maurício Aniche
 
Trabalho qualidade de software sistemas de informação
Trabalho qualidade de software   sistemas de informaçãoTrabalho qualidade de software   sistemas de informação
Trabalho qualidade de software sistemas de informaçãoFernando Gomes Chaves
 
Gestão Ágil de projetos
Gestão Ágil de projetosGestão Ágil de projetos
Gestão Ágil de projetosPaulo Furtado
 
Metadesign: redes de conversação e o desenvolvimento de sistemas de informação
Metadesign: redes de conversação e o desenvolvimento de sistemas de informaçãoMetadesign: redes de conversação e o desenvolvimento de sistemas de informação
Metadesign: redes de conversação e o desenvolvimento de sistemas de informaçãoDalton Martins
 
Criando produtos e serviços reais para o mundo virtual.
Criando produtos e serviços reais para o mundo virtual.Criando produtos e serviços reais para o mundo virtual.
Criando produtos e serviços reais para o mundo virtual.Jane Vita
 
O que estamos temos feito com mineração de repositório de código no IME?
O que estamos temos feito com mineração de repositório de código no IME?O que estamos temos feito com mineração de repositório de código no IME?
O que estamos temos feito com mineração de repositório de código no IME?Maurício Aniche
 
Projeto e protótipo de ferramenta de gerenciamento de projetos adaptada ao pr...
Projeto e protótipo de ferramenta de gerenciamento de projetos adaptada ao pr...Projeto e protótipo de ferramenta de gerenciamento de projetos adaptada ao pr...
Projeto e protótipo de ferramenta de gerenciamento de projetos adaptada ao pr...Tailo Mateus Gonsalves
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
Como criar um Mooc: guidelines de preparação para o ensino superior
Como criar um Mooc: guidelines de preparação para o ensino superiorComo criar um Mooc: guidelines de preparação para o ensino superior
Como criar um Mooc: guidelines de preparação para o ensino superiorNeuza Pedro
 
Práticas De Um Engenheiro De Software Eficiente
Práticas De Um Engenheiro De Software EficientePráticas De Um Engenheiro De Software Eficiente
Práticas De Um Engenheiro De Software EficienteGiovanni Bassi
 
Introdução a DevOps e Continuous delivery agileday
Introdução a DevOps e Continuous delivery   agiledayIntrodução a DevOps e Continuous delivery   agileday
Introdução a DevOps e Continuous delivery agiledayCarlos Felippe Cardoso
 
Oficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESCOficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESCWildtech
 
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASLIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASOs Fantasmas !
 

Semelhante a Cultura e Code Review (20)

Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
 
Trabalho qualidade de software sistemas de informação
Trabalho qualidade de software   sistemas de informaçãoTrabalho qualidade de software   sistemas de informação
Trabalho qualidade de software sistemas de informação
 
Gestão Ágil de projetos
Gestão Ágil de projetosGestão Ágil de projetos
Gestão Ágil de projetos
 
Como desenvolver-software
Como desenvolver-softwareComo desenvolver-software
Como desenvolver-software
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
Metadesign: redes de conversação e o desenvolvimento de sistemas de informação
Metadesign: redes de conversação e o desenvolvimento de sistemas de informaçãoMetadesign: redes de conversação e o desenvolvimento de sistemas de informação
Metadesign: redes de conversação e o desenvolvimento de sistemas de informação
 
Criando produtos e serviços reais para o mundo virtual.
Criando produtos e serviços reais para o mundo virtual.Criando produtos e serviços reais para o mundo virtual.
Criando produtos e serviços reais para o mundo virtual.
 
O que estamos temos feito com mineração de repositório de código no IME?
O que estamos temos feito com mineração de repositório de código no IME?O que estamos temos feito com mineração de repositório de código no IME?
O que estamos temos feito com mineração de repositório de código no IME?
 
Projeto e protótipo de ferramenta de gerenciamento de projetos adaptada ao pr...
Projeto e protótipo de ferramenta de gerenciamento de projetos adaptada ao pr...Projeto e protótipo de ferramenta de gerenciamento de projetos adaptada ao pr...
Projeto e protótipo de ferramenta de gerenciamento de projetos adaptada ao pr...
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Lean software
Lean software Lean software
Lean software
 
Como criar um Mooc: guidelines de preparação para o ensino superior
Como criar um Mooc: guidelines de preparação para o ensino superiorComo criar um Mooc: guidelines de preparação para o ensino superior
Como criar um Mooc: guidelines de preparação para o ensino superior
 
O que é devops?
O que é devops?O que é devops?
O que é devops?
 
Agilidade&Diversidade - 45min - 2022
Agilidade&Diversidade - 45min - 2022Agilidade&Diversidade - 45min - 2022
Agilidade&Diversidade - 45min - 2022
 
Metodos Ageis
Metodos AgeisMetodos Ageis
Metodos Ageis
 
Práticas De Um Engenheiro De Software Eficiente
Práticas De Um Engenheiro De Software EficientePráticas De Um Engenheiro De Software Eficiente
Práticas De Um Engenheiro De Software Eficiente
 
Testes Automatizados
Testes AutomatizadosTestes Automatizados
Testes Automatizados
 
Introdução a DevOps e Continuous delivery agileday
Introdução a DevOps e Continuous delivery   agiledayIntrodução a DevOps e Continuous delivery   agileday
Introdução a DevOps e Continuous delivery agileday
 
Oficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESCOficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESC
 
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASLIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
 

Mais de Elaine Naomi

Design de aplicações orientadas a objeto
Design de aplicações orientadas a objetoDesign de aplicações orientadas a objeto
Design de aplicações orientadas a objetoElaine Naomi
 
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a dia
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a diaSobre code smells, refactoring e design: como SOLID pode te ajudar no dia a dia
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a diaElaine Naomi
 
Hacking Evening - Liskov Substitution Principle
Hacking Evening - Liskov Substitution PrincipleHacking Evening - Liskov Substitution Principle
Hacking Evening - Liskov Substitution PrincipleElaine Naomi
 
Code Smells: o que eles dizem sobre seu código?
Code Smells: o que eles dizem sobre seu código?Code Smells: o que eles dizem sobre seu código?
Code Smells: o que eles dizem sobre seu código?Elaine Naomi
 
Bootcamp de Rails - CaquiCoders Meetup
Bootcamp de Rails - CaquiCoders MeetupBootcamp de Rails - CaquiCoders Meetup
Bootcamp de Rails - CaquiCoders MeetupElaine Naomi
 
GURU SP - Design de aplicações orientadas a objeto
GURU SP - Design de aplicações orientadas a objetoGURU SP - Design de aplicações orientadas a objeto
GURU SP - Design de aplicações orientadas a objetoElaine Naomi
 
Além da programação funcional com Elixir e Erlang
Além da programação funcional com Elixir e ErlangAlém da programação funcional com Elixir e Erlang
Além da programação funcional com Elixir e ErlangElaine Naomi
 
Explorando o Paralelismo em Workflows Intensivos em Dados com o Uso de Anotaç...
Explorando o Paralelismo em Workflows Intensivos em Dados com o Uso de Anotaç...Explorando o Paralelismo em Workflows Intensivos em Dados com o Uso de Anotaç...
Explorando o Paralelismo em Workflows Intensivos em Dados com o Uso de Anotaç...Elaine Naomi
 
Uso de Anotações Semânticas para Exploração de Paralelismo em Workflows Inten...
Uso de Anotações Semânticas para Exploração de Paralelismo em Workflows Inten...Uso de Anotações Semânticas para Exploração de Paralelismo em Workflows Inten...
Uso de Anotações Semânticas para Exploração de Paralelismo em Workflows Inten...Elaine Naomi
 
Dealing with a search engine in your application - a Solr approach for beginners
Dealing with a search engine in your application - a Solr approach for beginnersDealing with a search engine in your application - a Solr approach for beginners
Dealing with a search engine in your application - a Solr approach for beginnersElaine Naomi
 
Um Método para Paralelização Automática de Workflows Intensivos em Dados
Um Método para Paralelização Automática de Workflows Intensivos em DadosUm Método para Paralelização Automática de Workflows Intensivos em Dados
Um Método para Paralelização Automática de Workflows Intensivos em DadosElaine Naomi
 
O que é BIG DATA e como pode influenciar nossas vidas
O que é BIG DATA e como pode influenciar nossas vidasO que é BIG DATA e como pode influenciar nossas vidas
O que é BIG DATA e como pode influenciar nossas vidasElaine Naomi
 
Introdução ao MongoDB
Introdução ao MongoDBIntrodução ao MongoDB
Introdução ao MongoDBElaine Naomi
 
Workflows científicos
Workflows científicosWorkflows científicos
Workflows científicosElaine Naomi
 
Algoritmos para economia de energia no escalonamento de workflows em nuvens c...
Algoritmos para economia de energia no escalonamento de workflows em nuvens c...Algoritmos para economia de energia no escalonamento de workflows em nuvens c...
Algoritmos para economia de energia no escalonamento de workflows em nuvens c...Elaine Naomi
 

Mais de Elaine Naomi (16)

Design de aplicações orientadas a objeto
Design de aplicações orientadas a objetoDesign de aplicações orientadas a objeto
Design de aplicações orientadas a objeto
 
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a dia
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a diaSobre code smells, refactoring e design: como SOLID pode te ajudar no dia a dia
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a dia
 
Hacking Evening - Liskov Substitution Principle
Hacking Evening - Liskov Substitution PrincipleHacking Evening - Liskov Substitution Principle
Hacking Evening - Liskov Substitution Principle
 
Code Smells: o que eles dizem sobre seu código?
Code Smells: o que eles dizem sobre seu código?Code Smells: o que eles dizem sobre seu código?
Code Smells: o que eles dizem sobre seu código?
 
Bootcamp de Rails - CaquiCoders Meetup
Bootcamp de Rails - CaquiCoders MeetupBootcamp de Rails - CaquiCoders Meetup
Bootcamp de Rails - CaquiCoders Meetup
 
GURU SP - Design de aplicações orientadas a objeto
GURU SP - Design de aplicações orientadas a objetoGURU SP - Design de aplicações orientadas a objeto
GURU SP - Design de aplicações orientadas a objeto
 
Além da programação funcional com Elixir e Erlang
Além da programação funcional com Elixir e ErlangAlém da programação funcional com Elixir e Erlang
Além da programação funcional com Elixir e Erlang
 
Explorando o Paralelismo em Workflows Intensivos em Dados com o Uso de Anotaç...
Explorando o Paralelismo em Workflows Intensivos em Dados com o Uso de Anotaç...Explorando o Paralelismo em Workflows Intensivos em Dados com o Uso de Anotaç...
Explorando o Paralelismo em Workflows Intensivos em Dados com o Uso de Anotaç...
 
Uso de Anotações Semânticas para Exploração de Paralelismo em Workflows Inten...
Uso de Anotações Semânticas para Exploração de Paralelismo em Workflows Inten...Uso de Anotações Semânticas para Exploração de Paralelismo em Workflows Inten...
Uso de Anotações Semânticas para Exploração de Paralelismo em Workflows Inten...
 
Dealing with a search engine in your application - a Solr approach for beginners
Dealing with a search engine in your application - a Solr approach for beginnersDealing with a search engine in your application - a Solr approach for beginners
Dealing with a search engine in your application - a Solr approach for beginners
 
Um Método para Paralelização Automática de Workflows Intensivos em Dados
Um Método para Paralelização Automática de Workflows Intensivos em DadosUm Método para Paralelização Automática de Workflows Intensivos em Dados
Um Método para Paralelização Automática de Workflows Intensivos em Dados
 
O que é BIG DATA e como pode influenciar nossas vidas
O que é BIG DATA e como pode influenciar nossas vidasO que é BIG DATA e como pode influenciar nossas vidas
O que é BIG DATA e como pode influenciar nossas vidas
 
Introdução ao MongoDB
Introdução ao MongoDBIntrodução ao MongoDB
Introdução ao MongoDB
 
Workflows científicos
Workflows científicosWorkflows científicos
Workflows científicos
 
Algoritmos para economia de energia no escalonamento de workflows em nuvens c...
Algoritmos para economia de energia no escalonamento de workflows em nuvens c...Algoritmos para economia de energia no escalonamento de workflows em nuvens c...
Algoritmos para economia de energia no escalonamento de workflows em nuvens c...
 
Qt Apresentação
Qt ApresentaçãoQt Apresentação
Qt Apresentação
 

Cultura e Code Review