Slide 1

Slide 1 text

TEORIA DA APRENDIZAGEM E DESIGN DE CÓDIGO

Slide 2

Slide 2 text

Alberto Souza @alberto_souza timesincriveis.com.br bit.ly/medium-alberto

Slide 3

Slide 3 text

ALGUMAS INSPIRAÇÕES PARA NOSSO CÓDIGO

Slide 4

Slide 4 text

DESIGN PATTERNS

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

DAO, DEPENDENCY INJECTION ETC

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

DOMAIN DRIVEN DESIGN

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

REFACTORING

Slide 12

Slide 12 text

Extract Method Extract Variable Introduce Parameter Object

Slide 13

Slide 13 text

SOLID

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

POR QUE TEMOS ESSE MONTE DE TÉCNICA?

Slide 16

Slide 16 text

JÁ PENSARAM SOBRE ISSO?

Slide 17

Slide 17 text

POR QUE EU NÃO DEIXO TUDO NUM ARQUIVO SÓ?

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

SINGLE SOURCE OF TRUTH

Slide 20

Slide 20 text

ALGUNS OUTROS PQS AQUI

Slide 21

Slide 21 text

Por que nomes de variáveis devem ser semânticos? Por que alguém surgiu com a ideia de fazer controller, service, dao etc?

Slide 22

Slide 22 text

Por que eu devo separar meu código por módulos? Por que devo criar funções privadas em vez de comentar um trecho de código?

Slide 23

Slide 23 text

TENTANDO DESEVENDAR OS MOTIVOS

Slide 24

Slide 24 text

COGNITIVE LOAD THEORY

Slide 25

Slide 25 text

MEMÓRIA DE TRABALHO

Slide 26

Slide 26 text

TEMOS UM LIMITE NA MEMÓRIA DE TRABALHO

Slide 27

Slide 27 text

LIMITE É LINEAR, AS COMBINAÇÕES NÃO

Slide 28

Slide 28 text

ADVINHA O QUE ACONTECE QUANDO VOCÊ PEGA UM CÓDIGO QUE NÃO FAZ IDEIA?

Slide 29

Slide 29 text

E POR QUE, NO MESMO CÓDIGO, A PESSOA EXPERIENTE CONSEGUE ENTENDER TUDO?

Slide 30

Slide 30 text

MEMÓRIA DE LONGO PRAZO

Slide 31

Slide 31 text

SUPER PODER

Slide 32

Slide 32 text

N COISAS PODEM VIRAR UMA SÓ = ESQUEMAS

Slide 33

Slide 33 text

USO DA MEMÓRIA DE LONGO PRAZO NÃO LIMITA A DE CURTO

Slide 34

Slide 34 text

AUMENTE A SUA QUANTIDADE DE ESQUEMAS

Slide 35

Slide 35 text

E COMO EU SEI QUANTOS ELEMENTOS ESTÃO OCUPANDO MINHA MEMÓRIA DE CURTO PRAZO?

Slide 36

Slide 36 text

INTRINSIC LOAD

Slide 37

Slide 37 text

E SERÁ QUE TEM UM JEITO DIRETO DE MEDIR A CARGA DO MATERIAL?

Slide 38

Slide 38 text

QUE TAL CRIARMOS UMAS REGRAS PARA O CÓDIGO?

Slide 39

Slide 39 text

Nomes de variáveis ? complexidade ciclomática? Variáveis perto da utilização? Pontos de inicialização de variáveis?

Slide 40

Slide 40 text

Coesão? Acoplamento? O quanto da regra de negócio eu preciso conhecer para entender aquele código? Pontos de inicialização de variáveis?

Slide 41

Slide 41 text

Como aqueles parâmetros que eu recebo no construtor foram criados e passados por ali? O que faz aquele metadado? Annotation, Decorator(typescript) etc Abstrações?Pontos de inicialização de variáveis?

Slide 42

Slide 42 text

PRIORIZE

Slide 43

Slide 43 text

ASSOCIE UMA PONTUAÇÃO

Slide 44

Slide 44 text

TENHA REVIEWS MAIS ASSERTIVOS

Slide 45

Slide 45 text

ENTENDIMENTO NÃO É MANDINGA

Slide 46

Slide 46 text

MEÇA A SAÚDE DO SEU CÓDIGO PELA CARGA INTRÍNSECA DAS PARTES

Slide 47

Slide 47 text

OBRIGADO!

Slide 48

Slide 48 text

PERGUNTAS?