Bacharel em Ciência da Computação
Codando desde 2008
Front-end Tech Lead
Integrante do Campinas Front-end
"Aqueles que não podem lembrar o passado estão condenados a repeti-lo”.
George Santayana
“A aplicação da ciência e da matemática
pelo qual as propriedades do software são úteis para as pessoas. ”
Desenvolva software como você desenvolve hardware
Hardware
Linguagem de Máquina
Linguagem de Montagem
Artesanato de Software
Especificação
Release
Code and Fix
Processos de Formalidade e Waterfall
Engenharia de Requisitos
Codificação
Projeto
Produtividade e Escalabilidade
Processos
Reuso
Ferramentas
Métodos Orientados a Objetos
Padrões de Projeto
Importância crítica do Software para competição de mercado
Arquiteturas de Software
Usabilidade
Controle da Concomitância
Agilidade e Valor
Métodos Ágeis
Preferências do Consumidor e Custos
Conectividade Global e Integração
SISoS
Sistemas de Sistemas
Suporte a mútiplos navegadores
Validação e Ajax
Automatização do processo de instalação, atualização, configuração e remoção de programas de uma maneira consistente
Metadados: Nome, versão, dependências
foo
├── hello ^0.1.2
└── world ^1.0.7
bar
├── hello ^0.2.8
└── goodbye ^3.4.0
node_modules/
├── foo/
│ └── node_modules/
│ ├── hello/
│ └── world/
└── bar/
└── node_modules/
├── hello/
└── goodbye/
Autotomizadores de tarefas
Gerenciadores de pacotes + Plugins
Execução de Testes
Watch save
Geração de JS/CSS Bundle
Minificação
Integração do código no repositório
Detecção de Problemas
Visibilidade
Build Automatizada
Build Auto-testável
Solução de Problemas
"Any fool can write code that a computer can understand, good programmers write code that humans can understand."
Martin Fowler
Evolução JS
Software never ends
Style Guide
Reutilização, manutenção e refatoração
Metodologia para escrever seu CSS
Muita especificidade = Sobreescrever
Conflitos
Arquitetura
Lint
Imagens ou GIF's
Visão Global
Software never ends
Debugging
Refatoração
CI
Baby Steps
Bad Smells
Uma coisa é certa: seu código vai mudar
Metáfora dos 2 chapéus
Otimização de Build, Lazy-loading, Assets, Scripts de terceiros
Medida, monitorada e refinada
Diversas variáveis
Defina métricas
Apoie-se em ferramentas
Processo de Desenvolvimento de Software
Plano Micro
Plano Macro
Ferramentas
Solução de Problemas
slides.com/keilla/devcamp2018
@keillamenezes_