Dicas básicas que podem ajudar a criar uma boa base para o desenvolvimento e manutenção de um projeto em PHP, entre essas dicas, algumas também podem ser úteis em projetos desenvolvidos em outras linguagens.
Lucas de Oliveira Lucas de Oliveira Líder de Técnico / Desenvolvedor Backend na Acruxx Líder de Técnico / Desenvolvedor Backend na Acruxx deoliveiralucas.net deoliveiralucas.net 16/03/2019 16/03/2019
Sistemas Sistemas Longo prazo Longo prazo Muitas modificações Muitas modificações Nova solução Nova solução Mais de um dev Mais de um dev 16/03/2019 16/03/2019 Cenário Cenário
Sistemas Sistemas Longo prazo Longo prazo Muitas modificações Muitas modificações Nova solução Nova solução Mais de um dev Mais de um dev 16/03/2019 16/03/2019 Cenário Cenário
Ideia Ideia Descrição macro Descrição macro Refinamento Refinamento Definição dos requisitos Definição dos requisitos 16/03/2019 16/03/2019 Onde estamos? Onde estamos?
Ideia Ideia Descrição macro Descrição macro Refinamento Refinamento Definição dos requisitos Definição dos requisitos Desenvolvimento Desenvolvimento 16/03/2019 16/03/2019 Onde estamos? Onde estamos?
Ideia Ideia Descrição macro Descrição macro Refinamento Refinamento Definição dos requisitos Definição dos requisitos Desenvolvimento Desenvolvimento 16/03/2019 16/03/2019 Onde estamos? Onde estamos?
Ideia Ideia Descrição macro Descrição macro Refinamento Refinamento Definição dos requisitos Definição dos requisitos Desenvolvimento Desenvolvimento 16/03/2019 16/03/2019 Onde estamos? Onde estamos?
Para membros da equipe Para membros da equipe Parâmetros de configuração Parâmetros de configuração Gerenciamento de dependências Gerenciamento de dependências 16/03/2019 16/03/2019 Problemas Problemas
Para membros da equipe Para membros da equipe Parâmetros de configuração Parâmetros de configuração Gerenciamento de dependências Gerenciamento de dependências Execução de funcionalidades Execução de funcionalidades 16/03/2019 16/03/2019 Problemas Problemas
Para membros da equipe Para membros da equipe Parâmetros de configuração Parâmetros de configuração Gerenciamento de dependências Gerenciamento de dependências Execução de funcionalidades Execução de funcionalidades Utilização de serviços Utilização de serviços 16/03/2019 16/03/2019 Problemas Problemas
Para membros da equipe Para membros da equipe Parâmetros de configuração Parâmetros de configuração Gerenciamento de dependências Gerenciamento de dependências Execução de funcionalidades Execução de funcionalidades Utilização de serviços Utilização de serviços Configuração do projeto Configuração do projeto 16/03/2019 16/03/2019 Problemas Problemas
Para membros da equipe Para membros da equipe Parâmetros de configuração Parâmetros de configuração Gerenciamento de dependências Gerenciamento de dependências Execução de funcionalidades Execução de funcionalidades Utilização de serviços Utilização de serviços Configuração do projeto Configuração do projeto ... ... 16/03/2019 16/03/2019 Problemas Problemas
Para novos integrantes Para novos integrantes Tempo de integração Tempo de integração Configuração do ambiente Configuração do ambiente 16/03/2019 16/03/2019 Problemas Problemas
Para novos integrantes Para novos integrantes Tempo de integração Tempo de integração Configuração do ambiente Configuração do ambiente Conhecer o código-fonte Conhecer o código-fonte 16/03/2019 16/03/2019 Problemas Problemas
Para novos integrantes Para novos integrantes Tempo de integração Tempo de integração Configuração do ambiente Configuração do ambiente Conhecer o código-fonte Conhecer o código-fonte Processo de desenvolvimento Processo de desenvolvimento 16/03/2019 16/03/2019 Problemas Problemas
Para novos integrantes Para novos integrantes Tempo de integração Tempo de integração Configuração do ambiente Configuração do ambiente Conhecer o código-fonte Conhecer o código-fonte Processo de desenvolvimento Processo de desenvolvimento Processo de entrega Processo de entrega 16/03/2019 16/03/2019 Problemas Problemas
Para novos integrantes Para novos integrantes Tempo de integração Tempo de integração Configuração do ambiente Configuração do ambiente Entender o código-fonte Entender o código-fonte Processo de desenvolvimento Processo de desenvolvimento Processo de entrega Processo de entrega ... ... 16/03/2019 16/03/2019 Problemas Problemas
Para novos integrantes Para novos integrantes Tempo de integração Tempo de integração Configuração do ambiente Configuração do ambiente Conhecer o código-fonte Conhecer o código-fonte Processo de desenvolvimento Processo de desenvolvimento Processo de entrega Processo de entrega ... ... Problemas dos membros da equipe Problemas dos membros da equipe 16/03/2019 16/03/2019 Problemas Problemas
Para novos integrantes Para novos integrantes Tempo de integração Tempo de integração Configuração do ambiente Configuração do ambiente Conhecer o Conhecer o código-fonte código-fonte Processo de desenvolvimento Processo de desenvolvimento Processo de entrega Processo de entrega ... ... Problemas dos membros da equipe Problemas dos membros da equipe 16/03/2019 16/03/2019 Problemas Problemas
Código-fonte Código-fonte Adicionar funcionalidades Adicionar funcionalidades Reutilizar código Reutilizar código Executar alterações Executar alterações Trabalhar em equipe Trabalhar em equipe Executar a implantação Executar a implantação 16/03/2019 16/03/2019 Problemas Problemas
Consulte a versão atual do PHP Consulte a versão atual do PHP Funcionalidades atuais Funcionalidades atuais Revise ferramentas e boas práticas Revise ferramentas e boas práticas PHP The Right Way PHP The Right Way PHP.net PHP.net ... ... 16/03/2019 16/03/2019 Dicas Dicas
Defina uma arquitetura Defina uma arquitetura Entenda bem o problema Entenda bem o problema Utilize o conhecimento da equipe Utilize o conhecimento da equipe Busque facilidade de manutenção Busque facilidade de manutenção ... ... 16/03/2019 16/03/2019 Dicas Dicas
Defina uma arquitetura Defina uma arquitetura Entenda bem o problema Entenda bem o problema Utilize o conhecimento da equipe Utilize o conhecimento da equipe Busque facilidade de manutenção Busque facilidade de manutenção ... ... 16/03/2019 16/03/2019 Dicas Dicas
Defina uma arquitetura Defina uma arquitetura Estude a melhor opção Estude a melhor opção Resolva o problema Resolva o problema Não crie mais problemas Não crie mais problemas ... ... 16/03/2019 16/03/2019 Dicas Dicas
Escolha soluções prontas Escolha soluções prontas Atividade dos mantenedores no projeto Atividade dos mantenedores no projeto Issues Issues abertas e resolvidas abertas e resolvidas Quantidade de Quantidade de stars stars Documentação fácil de entender e com Documentação fácil de entender e com exemplos exemplos ... ... 16/03/2019 16/03/2019 Dicas Dicas
Crie uma funcionalidade de Crie uma funcionalidade de exemplo exemplo Entendimento da arquitetura Entendimento da arquitetura Separação das camadas Separação das camadas Comunicação entre camadas Comunicação entre camadas Nomeação de arquivos e Nomeação de arquivos e namespaces namespaces ... ... 16/03/2019 16/03/2019 Dicas Dicas
Defina o processo de trabalho no Defina o processo de trabalho no código-fonte código-fonte Padrão de Padrão de commit commit Nomeação das Nomeação das branches branches Versionamento Versionamento Documentação das Documentação das releases releases ... ... 16/03/2019 16/03/2019 Dicas Dicas
Adicione a etapa Code Review Adicione a etapa Code Review Checklist Checklist para alinhar verificações para alinhar verificações Antes de enviar para o ambiente de teste Antes de enviar para o ambiente de teste Após a execução da ferramenta CI Após a execução da ferramenta CI Melhorar a qualidade do software Melhorar a qualidade do software Compartilhar conhecimento Compartilhar conhecimento 16/03/2019 16/03/2019 Dicas Dicas
Adicione tudo no repositório Adicione tudo no repositório Documentação (Markdown/Wiki) Documentação (Markdown/Wiki) Scripts de correção/jobs Scripts de correção/jobs Exemplos de comandos Exemplos de comandos Links para outras documentações Links para outras documentações Tudo que for parte da aplicação Tudo que for parte da aplicação 16/03/2019 16/03/2019 Dicas Dicas
16/03/2019 16/03/2019 Prepare uma boa base para Prepare uma boa base para construção do software e evite construção do software e evite problemas ao decorrer do problemas ao decorrer do desenvolvimento. desenvolvimento. Conclusão Conclusão