Conteúdo sobre boas práticas de código de software de qualidade apresentado na semana de sistemas de informação organizado pelos alunos da USP Leste em São Paulo, Capital.
11 12 13 14 Eu sou ‘Marylly’{ < Engenheira de Software, Tech Lead, Cultivadora da Cultura DevOps na ThoughtWorks. Menina e mulher de família de cor simples da periferia da capital de SP > fordevelopers.html lecture.css } 2
11 12 13 14 01 < Como é nosso alecrim dourado > O que é código perfeito 02 < A realidade do código dos times > Realidade 03 < Práticas que ajudam a melhorar o cenário > O que podemos fazer Table Of ‘Agenda’ { } fordevelopers.html lecture.css 3
11 12 13 14 04 < Existe refatoração > Existe salvação? 05 < Práticas que contribuem > Não faço nada, dá para começar? 06 < Conclusões e aprendizados > E pra finalizar Table Of ‘Agenda’ { } fordevelopers.html lecture.css 4
11 12 13 14 Versão #0; { <p > O código no momento que está sendo construído, normalmente está no seu ideal de estrutura e entendimento. A partir do momento que o código está em ambiente produtivo, já podemos chamá-lo de legado. } </p> fordevelopers.html lecture.css ‘Primeiro Go Live’ 9
11 12 13 14 Perda de velocidade de entrega Aumento progressivo de riscos Dificuldade de recuperação após falha Custo elevado de desenvolvimento Realidade sobre ‘Time’{ } fordevelopers.html lecture.css 11
11 12 13 14 < Entropia ou deterioração do código é um processo lento de perda de valor tanto de negócio como capacidades funcionais e não-funcionais à medida que o tempo passa esse código sofre a falta de atualizações estruturais, arquiteturais e suas dependências, além de possuir um processo ineficaz de manutenção e evolução, podendo se tornar insustentável e inutilizável.> Entropia do Software { fordevelopers.html lecture.css } 13
11 12 13 14 < Processo de atualização do código do software de uma forma que não altere seu comportamento esperado, melhorando, simplificando e sanitizando o design do código.> Refatoração de código { fordevelopers.html lecture.css } 18
11 12 13 14 Velocidade de entrega Mitigação riscos Software entregando maior valor Custo baixo de desenvolvimento Benefícios < /1 >{ } fordevelopers.html lecture.css 19
11 12 13 14 Testes automatizados obrigatório Curva de aprendizagem Impacto na cultura do time Implantação Contrapontos < /2 >{ } fordevelopers.html lecture.css 20
11 12 13 14 Recomendações gerais; { < se for código legado, comece por uma funcionalidade nova, um bug fix simples ou pelo processo que mais necessita desta estrutura de apoio > < construa uma estrutura de testes de acordo com o que é possível executar com as pessoas e os recursos disponíveis > Apenas comece… < discuta e escute propostas que possam surgir para compor um plano de ação inicial > Construa com o time Priorize os fluxos de maior valor } fordevelopers.html lecture.css 22
11 12 13 14 Contents Of ‘Referências’; ∗ Wikipedia: Deterioração do Software. Disponível em: https://pt.wikipedia.org/wiki/Deteriora%C3%A7%C3%A3o_de_software. Acesso em 22 de Maio de 2022 às 18:15. ∗ Hunt, Andrew; Thomas, David: O Programador Pragmático: de aprendiz ao mestre. Bookman, 2010. Página 69. ∗ Fowler, Martin: Refactoring: Improving the Design of Existing Code: Addison-Wesley, 2a edição. 2019. fordevelopers.html lecture.css