Back-End

6 mar, 2018

PHP Experience 2018: Good Project From Scratch

Publicidade

A última keynote do primeiro dia do PHP Experience 2018 foi do polonês Pawel Lewtak, desenvolvedor web na plataforma GOG.com. Diferente das demais palestras da noite, Pawel tomou uma abordagem menos técnica e refletiu com o público sobre os passos, técnicas e metodologias necessárias para um bom projeto do zero.

Pawel discutiu cada uma das etapas individualmente, sendo elas:

Análise

Neste passo, é importante refletirmos sobre o problema antes de escrever qualquer linha de código. É necessário entender o problemas antes de associar a sua solução a frameworks e bibliotecas. Ele comentou de três técnicas que podem ajudar nisto: Domain Drive Design, Event Storming e Agile

Arquitetura

Aqui, é importante entender as vantagens de uma arquitetura monolítica e de microsserviços para ver o que faz mais sentido para o projeto. Aqui Pawel comentou também sobre Clean Architecture e sobre o aspecto de não reinventar a roda, por mais tentador que possa ser.

Testes

Todo código irá mudar e é necessário que tenhamos uma maneira de nos certificar que ele não irá quebrar. Neste tópico, Pawel também comentou sobre a diferença entre TDD e testes e sobre BDD (Behaviour driver development)

Code Review

Após toda a implementação, é necessária uma revisão. Esta é uma oportunidade de aprendizado para todos os envolvidos.

CI e CD

Pawel comentou a importância de ter um processo o mais automatizado possível para evitar falhas no processo de entrega.

Métricas

Neste passo, é essencial monitorar a aplicação para ter uma resposta sobre a sua execução. Informações sobre performance, utilização, consumo de dados, erros, todas elas são bem-vindas e devem ser monitoradas de acordo com o seu negócio.

Documentação

Este passo normalmente é o mais negligenciado, porém é de extrema importância. Uma boa documentação torna o aprendizado de um projeto muito mais rápido. Uma dica dada por Pawel foi começar aos poucos, como o próprio README dos projetos.

Comunicação

Este, na verdade, é um passo que deve estar presente durante todo o processo do desenvolvimento do projeto, pois ele fará toda a diferença.