Danielle Teixeira
Desenvolvedora front-end e mobile intusiasta IoT e UX/UI Design, compartilho minhas experiências profissionais
Danielle Teixeira
Objetivo
Porque os projetos dão errado
Boas práticas
Etapas
Referências
.agenda {}
Substituir velhos hábitos de desenvolvimento Usar boas práticas no processo de desenvolvimento de software para melhoria da qualidade do código e aumentar da produtividade.
Objetivo
Projetos não falham. Pessoas falham.
Desastre: Irradiou doses letais de radiação em pacientes.
Causa: configuração incorreta de modo que o feixe de elétrons seria como um fogo de alta potência;
Consequências: 3 mortos e 3 seriamente feridos
Sergey Brin: cofundador do Google apresentou o produto ao mercado antes da hora certa.
Técnicas identificadas como as melhores para realizar uma determinada tarefa.
.etapas {}Construir um software não é somente escrever código e vê-lo funcionar, é você saber que aquele código será manutenível e que outras pessoas vão alterá-lo.
.produtividade{}.pomodoro{}.pomodoro{}.produtividade {}.kanban{}
.metodologias Agil{}.SCRUM {}Iterativo
Incremental
.SCRUM {}Sprints
Sprints Backlog
.SCRUM {}Sprint backlog
.SCRUM {}Product Owner
Scrum Master
.SCRUM {}Scrum Team
.requisitos {}.requisitos {}.requisitos {}RNF03 - Requisitos de portabilidade. o sistema deverá rodar em qualquer plataforma.
.requisitos {}Consequências de Software sem Requisitos
.prototipacao {}Processo que facilita o entendimento dos requisitos, apresenta conceitos e funcionalidades do software.
.prototipos Tipos{}.prototipos Tipos {}
.prototipos Tipos {}.ferramentas {}.Arquitetura {}Camadas de um projeto
.Arquitetura {}Adote um Framework
.Arquitetura {}Model View Controller
.modelagem {}Normalização
Banco de Dados bem projetado
.modelagem {}Evitar
Boa prática
.querys {}Evitar
Boa prática
Com * o SGBD gasta muito tempo percorrendo todos os campos
SELECT * FROM tabelaXSELECT COLUNA_A, COLUNA_B FROM tabelaX.querys {}UNION
O SGBD não consegue otimizar cláusulas de join ligadas por OR. Neste caso é mais eficiente ligar os conjuntos de resultados por UNION.
SELECT a FROM tab1, tab2
WHERE tab1.a = tab2.a
OR tab1.x = tab2.xSELECT a FROM tab1, tab2
WHERE tab1.a = tab2.a
UNION SELECT A FROM tab1, tab2
WHERE tab1.x = tab2.xOR
são eliminadas as linhas duplicadas
Evitar
Boa Prática
.padroes de Projetos {}“Gang of Four”
.padroes de Projetos {}Benefícios
.padroes de Projetos {}.versionamento {}
Guarda as informações de quem alterou alguma funcionalidade.
Controle de versão
.versionar Projeto{}Se alguém fizer algo de errado..
Já sabem quem é o culpado!
.versionar Projeto{}Porque usar versionamento?
.testes {}Teste unitários (unit)
Testes de integração(service)
Testes de aceitação (UI)
.testes {}UI
Service
Unit
Testes Automatizados
Reduz significativamente o custo das empresas e re-trabalho dos desenvolvedores com manutenção.
Melhorar a performance, consistência e outros fatores importantes.
.testes {}PhpUnit
dannyserena
dannyserena
danielleteixeira
By Danielle Teixeira
Conferência de PHP do Nordeste - 2016
Desenvolvedora front-end e mobile intusiasta IoT e UX/UI Design, compartilho minhas experiências profissionais