Skip to content

Instantly share code, notes, and snippets.

@haskellcamargo
Created March 11, 2019 14:37
Show Gist options
  • Save haskellcamargo/241a7d2d0c2f97d3d95ad3a55805c03b to your computer and use it in GitHub Desktop.
Save haskellcamargo/241a7d2d0c2f97d3d95ad3a55805c03b to your computer and use it in GitHub Desktop.
  • Introdução

    • Queremos um código
      • Legível
      • Reutilizável
      • Refatorável
  • Variáveis

    • Use nomes com significado
    • Use nomes pronunciáveis
    • Seja consistente na nomenclatura
    • Evite mapas mentais
    • Não adicione contexto desnecessário
  • Funções

    • Evite muitos argumentos
    • Funções devem fazer uma coisa
    • Nomes das funções devem dizer o que elas fazem
    • Funções devem ter apenas um nível de abstração
    • Evite código duplicado
    • Evite flags em funções
    • Evite condicionais negativas
    • Evite condicionais no geral
    • Não mantenha código morto
  • Objetos e Estruturas de Dados

    • Configure a visibilidade
    • Opte por imutabilidade
  • Classes

    • Classes devem ser pequenas
    • Alta coesão e baixo acoplamento
    • Prefira composição a herança
  • Tratamento de Erros

    • Não ignore erros
  • Testes

    • Testes devem ser determinísticos
    • Cada teste deve ser independente
    • Cada teste deve testar uma coisa
    • O nome do teste deve ser descritivo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment