Fragmentos de um programador Artigos e insights da carreira de um profissional
Phil CalçadoPrefácio
Eu me lembro até hoje de quando comecei a frequentar o GUJ, em 2006. Era uma comunidade pequena, muito longe do tamanho que tem hoje, mas vibrante. Praticamente todas as discussões que aconteciam por lá geravam longos debates, alguns até acalorados, porém todos cheios de aprendizados.
Era comum ver as opiniões firmes do Phillip por lá. Lembro-me até hoje de que, já naquela época, ele falava sobre granularidade de serviços e sua cruzada contra a hipercomplexidade de algumas plataformas da época.
Naquela época, eu engatinhava no mundo do desenvolvimento e acompanhava atentamente cada artigo que o Phillip publicava no seu antigo site, o Fragmental, que nem existe mais hoje. O que é uma pena, pois tinha muito conteúdo bom e que valerá até muitos anos ainda à frente.
Em uma conversa recente, falamos com o Phillip e conseguimos desenterrar seu blog. Fizemos uma coleta dos seus artigos publicados lá no passado no Fragmental, e que são leitura obrigatória até hoje para qualquer desenvolvedor de software de respeito.
Mesclamos também com conteúdos atuais que ele escreve em inglês, traduzidos para o português com a curadoria da Casa do Código. Você vai colher opiniões e vários insights sobre design de software, integração de sistemas, Orientação a Objetos, Domain- Driven Design, microsserviços e muito mais, tudo aqui dentro destas páginas.
Espero que você aproveite esse estudo e que valha a pena para você, assim como o Fragmental valeu a pena para mim lá no passado e me fez olhar o mundo do desenvolvimento de software com olhos muito mais criteriosos. Aproveite.
Adriano Almeida - Editor da Casa do Código
Sumário
- 1 Introdução
- 2 Contratos nulos
- 2.1 Invariantes
- 2.2 Pré e pós-condições
- 2.3 Subclasses e contratos
- 2.4 Contratos quebrados
- 2.5 Documentando
- 2.6 Isso é trabalhoso demais!
- 3 Evitando VOs e BOs
- 3.1 Origens
- 3.2 Quando tudo já está ruim...
- 3.3 Transfer Objects/Value Objects
- 3.4 VOs e BOs: Modelo de Objetos Anêmico
- 3.5 Conclusão
- 4 MVC e camadas
- 4.1 Camadas: separação entre componentes
- 4.2 MVC: interação entre componentes
- 4.3 Conclusão
- 5 Guia de guerra para freelancers
- 5.1 Histórico
- 5.2 Organização do ambiente
- 5.3 Metodologia de trabalho
- 5.4 Seja compromissado
- 5.5 Conheça seu cliente
- 5.6 Seja ágil
- 5.7 Tenha um advogado
- 5.8 Contratos abertos
- 5.9 Conclusão e história triste
- 6 Fantoches
- 6.1 Mas estruturar não era legal?
- 6.2 Modelando o mundo
- 6.3 Implementações procedurais
- 6.4 Bad smell: forças ocultas
- 6.5 Anatomia de um sistema OO
- 6.6 Entre flexibilidade e produtividade
- 6.7 Conclusão
- 7 Arquitetura é sobre pessoas
- 8 Deixe para lá o DDD
- 8.1 Parece ser extremamente difícil para as pessoas entenderem DDD
- 8.2 As pessoas não precisam entender Domain-Driven Design para se beneficiarem com isso
- 9 Arquitetura Ágil: 4 estratégias comuns
- 9.1 Iteração zero
- 9.2 Histórias técnicas
- 9.3 Spike
- 9.4 Linha de montagem
- 10 Como criar um repositório
- 10.1 Nomeação
- 10.2 Evite uma explosão de métodos
- 10.3 Somente um tipo
- 10.4 Não apenas persistência
- 11 A unidade do teste de unidade é a unidade da manutenibilidade
- 12 Data Transfer Objects internos
- 12.1 Uma rápida introdução a DTO
- 12.2 “Porque MVC precisa disso”
- 12.3 Usando DTO para proibir chamadas a métodos perigosos
- 12.4 Baixo acoplamento
- 12.5 Conclusão
- 13 Como nós acabamos tendo microsserviços
- 13.1 O próximo projeto
- 13.2 Processo de hacking?
- 13.3 Da nave mãe para o legado
- 13.4 A complexidade irredutível do monolito
- 13.5 Referência obrigatória à Lei de Conway
- 13.6 O futuro
- 14 Pedindo aos candidatos para codar
- 15 Conclusão
Dados do produto
- Número de páginas:
- 157
- ISBN:
- 978-85-5519-222-7
- Data publicação:
- 10/2016