compartilhando qualidade e conhecimento com code review

46
@tonicospinelli Code Review Compartilhando Qualidade e Conhecimento

Upload: antonio-spinelli

Post on 23-Jan-2018

114 views

Category:

Software


2 download

TRANSCRIPT

@tonicospinelli

Code Review

CompartilhandoQualidade e Conhecimento

Code Review

O que é?

Por que usar?

Como?

O que examinar?

O que é? Code Review

seu código será revisado por alguém antes de ir para produção!

Revisores examinarão seu código para:

● encontrar erros e falhas lógicas

● sugerir melhorias

● verificar se desenvolveu dentro do padrão

● nivelar o conhecimento dentro do time

Tudo isso, antes de colocar para testar!

Revisão do meu código? É SÉRIO ISSO!?

Por que deveria usar dentro do

processo de desenvolvimento?

Code Review

Por que?

Melhora a qualidade do software

Code Review

ScrutinizerCodacyPDepend

Por que?

Compartilha conhecimento entre a equipe

Code Review

Por que?

Melhora capacidade de manutenção do código

Code Review

Por que?

Mentoria desenvolvedores mais jovens

Code Review

Por que?

Adesão aos padrões e convenções de codificação

Code Review

Por que?

Aumenta a colaboração

Code Review

Por que?

reduz o retrabalho

Code Review

Por que?

Aumentar a satisfação / retenção de clientes

Code Review

Por que?

Definir estimativas

Code Review

Por que?

Reforçar a vantagem competitiva

Code Review

mas como consigo chegar

nesta qualidade?

Code Review

Como?

Examine de 200 a 400 linhas de código a cada vez

Code Review

Como?

Sem pressa! As inspeções devem ser inferiores a 500 LOC/hora

Code Review

Como?

Revise em até 1h por vez

Code Review

Como?

Defina metas e capture métricas

Code Review

Como?

Os autores devem comentar o código antes da revisão

Code Review

Como?

Utilize Checklist

Code Review

Como?

Estabeleça um processo para corrigir defeitos encontrados

Code Review

Como?

Promover uma cultura positiva de revisão de código

Code Review

Como?

Sofrer por antecedência as implicações da revisão

Code Review

Como?

Pratique revisões de código de maneira assertiva

Code Review

o que devo avaliar

durante o Code Review?

Code Review

O que Avaliar?

o código respeita os princípios S.O.L.I.D.?

Code Review

O que Avaliar?

existe duplicação de código?

Code Review

O que Avaliar?

está no mesmo padrão estrutural?

Code Review

O que Avaliar?

código foi deixado melhor do que o encontrado?

Code Review

O que Avaliar?

procure por bugs em potencial

Code Review

O que Avaliar?

tratamento de erros estão adequados?

Code Review

O que Avaliar?

o código é eficiente?

Code Review

O que Avaliar?

nomenclatura das classes, métodos e variáveis são coerentes?

Code Review

public function calculate($first, $second){ return $first + $second;}

public function sum($first, $second);

$i

$index

$e

$exception

$usr

$user

Utils

Common

Tools

Helper

O que Avaliar?

a função tem menos de 20 linhas?

Code Review

O que Avaliar?

a classe tem menos de 300 linhas?

Code Review

O que Avaliar?

tem código comentado?

Code Review

O que Avaliar?

foi adicionado docblock?

Code Review

O que Avaliar?

número de argumentos é superior a 3?

Code Review

O que Avaliar?

o código está legível?

Code Review

O que Avaliar?

tem teste fazendo cobertura do código?

Code Review

● eles cobrem cenários de falha?● são fáceis de ler?

● são grandes?● são lentos?

PHPUnit 5.4.6

........................ 59 / 59 (100%)

Time: 349 ms, Memory: 6.00MB

OK (59 tests, 126 assertions)

O que Avaliar?

teste no nível correto

Code Review

Unit Test (95%)

Integration Test (5%)

O que Avaliar?

teste unitário com mais do que 3 Mocks?

Code Review

O que Avaliar?

a implementação atende aos requisitos?

Code Review

Dúvidas?

@tonicospinelli

joind.in/talk/c7441

#phpexperience2017