Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • W wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1
    • Issues 1
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • IncluiTech
  • wiki
  • Wiki
  • Arquitetura
  • code review

Last edited by Rafael Barni Ritter Apr 24, 2020
Page history

code review

Home Informações Gerais Requisitos Sprints Arquitetura Configuração Mockups Banco de Dados Instalação Gerência de Projeto Horários Disponiveis Gitflow

Code Review

Guidelines

Backend

  • Dar contexto (breve resumo) da task desenvolvida, e explicar solução implementada
  • Código na mesma linguagem: português
  • Convenções de naming e de estrutura de diretórios da linguagem: https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html
  • Nomes precisos e consistentes
  • Remover dead code e imports não utilizados
  • Remover coisas “development only” hardcoded no código
  • Utilizar encapsulamento (modificadores de acesso)
  • Evitar variáveis globais, favorecer imutabilidade (https://martinfowler.com/bliki/ValueObject.html)
  • Não usar System.out.println, usar slf4j e uma lib de logging
  • Separação em camadas
    • e.g.: API -> Service -> Repository
    • Cada camada com seu objeto (criar conversores entre camadas)
  • Máximo 10 arquivos
    • Quebrar em PRs pequenos, incrementais
    • Mais seguro, menos chance de passar algo errado
  • Mínimo 10 testes unitários
    • Testar edge cases, passando null, passando valores muito grandes, etc (pensar e validar todas possibilidades)
    • Testes que façam sentido, testar regra de negócio, testar lógica
  • Design está complexo?
    • Muitas classes / métodos?
    • Classes / métodos rasos, com pouco valor, ou que não adicionam nenhuma abstração?
    • Código duplicado, uma mesma informação espalhada em muitos lugares?
    • Nomes vagos?
    • Código obscuro, trechos de código não óbvios? (adicionar comentários)

Frontend

  • Dar contexto (breve resumo) da task desenvolvida, e explicar solução implementada
  • Código na mesma linguagem: português
  • Convenções de naming e de estrutura de diretórios da linguagem: https://www.w3schools.com/js/js_conventions.asp
  • Nomes precisos e consistentes
  • Remover dead code e imports não utilizados
  • Remover coisas “development only” hardcoded no código
  • Utilizar encapsulamento (modificadores de acesso)
  • Evitar variáveis globais, favorecer imutabilidade (https://martinfowler.com/bliki/ValueObject.html)
  • Não deixar console.log de debugging
  • Máximo 10 arquivos
    • Quebrar em PRs pequenos, incrementais
    • Mais seguro, menos chance de passar algo errado
  • Mínimo 10 testes unitários
    • Testar edge cases, passando null, passando valores muito grandes, etc (pensar e validar todas possibilidades)
    • Testes que façam sentido, testar lógica
  • Design está complexo?
    • Muitas classes / métodos?
    • Classes / métodos rasos, com pouco valor, ou que não adicionam nenhuma abstração?
    • Código duplicado, uma mesma informação espalhada em muitos lugares?
    • Nomes vagos?
    • Código obscuro, trechos de código não óbvios? (adicionar comentários)
Clone repository
  • arquitetura
  • arquitetura
    • code review
    • diagramas
    • rotas
  • banco_dados
  • configuracao
  • gitflow
  • gp
  • Home
  • horarios
  • inf
  • instalacao
  • mockups
  • requisitos
  • sprints