11. Você entra para a equipe, dia 1 Acessa o VCS, baixa o código Compila e... erro, falta framework! Instala, ... Erro! Falta arquivo.config Compila... Erro! Configuração errada
12. Problemas SRP não é respeitado nem nas camadas, Acesso a dados problemático, O código é ininteligível, Práticas comuns não são usadas, Se OO é procedural, se funcional é OO, Incerteza é uma constante
18. Um pouco sobre código Conheça fundamentos (OO, Funcional, ...) SOLID (SRP, OCP,...,DI ) Adote: KISS, YAGNI, DRY
19. Camadas são polêmicas Tier: mais ligada ao hardware que roda (UI no cliente, middleware no server, ...) Layer: Separação lógica (validação, lógica de negócios, ...)
40. Refactoring acesso a dados Isole o acesso a dados em um layer (DAL), Se não precisar de Transações não coloque! Lembre-se YAGNI, Otimização prematura de performance não é uma boa idéia, Refactoring de IF’s em SP’sé fácil, joins, aggregations é difícil, o que é lógica e o que é CRUD,
41. ORM Deixe o acesso de dado no automático, Não crie, use um pronto... Ou compre! Coopere com o DBA! “Dados pertencem a organização e não a sua aplicação”
42. Banco de dados Faz parte da sua app, certo? Você versiona? Como? É fácil de refazer? É feito no deploy de teste? Use: Migrations
46. Inspeção e adaptação... "Não se iluda em terminar um projeto, um projeto de software só acaba quando o programa é deletado dos computadores definitivamente e sai de uso, o código-fonte é apagado e todos os programadores são mortos.“ Ted Neward