Klederson Bueno é um arquiteto de sistemas, desenvolvedor e evangelista PHP. Ele discute princípios de arquitetura de software limpo e SOLID, padrões de projeto como MVC e iterador, e abordagens ágeis como MVP e Scrum. Klederson também fala sobre a importância da legibilidade, testabilidade, manutenibilidade e reusabilidade no desenvolvimento de software.
4. "Doutrina que toma por critério da verdade o valor prático"
(Para o pragmatismo é verdadeiro tudo o que pode ser feito com êxito e não há verdade absoluta)
5. "Uma solução genérica e rePetível para um problema comum no desenho de software"
( Padrões de projeto e boas práticas são propostas arquiteturais para a resolução de problemas no desenvolvimento de software )
8. Produtividade e MOTIVAÇÃO
Um código limpo e claro aumenta a produtividade de
uma equipe e reduz o desinteresse natural pela
codificação no projeto.
ENTREGAS E PRAZOS
Em qualquer negócio o planejamento é essencial
e o cumprimento de prazos e entregas bem
definidas são cruciais para a saúde de um projeto.
9. REUSABILIDADE DE CÓDIGO
No ciclo de desenvolvimento toda vez que precisamos
parar para criar novas ferramentas para executar
tarefas já executadas antes quer dizer que estamos
com uma arquitetura pobre e um código não reutilizável.
MANUTENIBILIDADE DE PROJETOS
Um bom software é todo aquele no qual podemos
focar pelo menos 80% do desenvolvimento das
regras de negócio, novas funcionalidades e
melhorias ao invés de consertar problemas.
13. SIngle Responsibility
As classes devem ser coesas,e possuírem uma única responsabilidade. Assim ela se torna mais
reutilizável, simples, e propaga muito menos mudanças para o restante do sistema.
14. Open/Close Principle
classes devem poder ter seu comportamento EXTENSÍVEL. por meio de herança, interface e composição.
não deve ser necessário abrir a própria classe para realizar pequenas mudanças.
Dependa sempre de abstrações claras e bem definidas
15. LISKOV SUBSTITUTION PRINCIPLE
Herança é extremamente poderosA mas deve ser usado com sabedoria. Devemos SEMPRE evitar classes do tipo
gato extende cachorro só por que eles tem algo em comum ( andar por exemplo )
16. Interface Segregation Principle
MóduloS SIMPLES E COM POUCOS COMPORTAMENTOS. Interfaces com muitos comportamentos dificultam a
manutenção pois se espalham por todo o sistema “contaminando" outros lugares e dificultando evoluções ou
REFACTORY.