Robert “Uncle Bob” Martin, desenvolvedor veterano com mais de 50 anos de experiência, abre um de seus livros analisando um problema que, segundo ele, assola a maior parte das organizações que desenvolvem software: o aumento exponencial do “custo por linha modificada”, ao longo do tempo, nas bases de código. Robert Martin utiliza o número de […]
Testes de unidade, obsessão por tipos primitivos, linguagem onipresente (DDD), agilidade e a lei de Conway
Lançamos, na última semana, cinco novos vídeos no canal técnico da EximiaCo no Youtube. Começamos a semana com uma ótima conversa com Vladimir Khorikov, autor de Unit Testing – Principles, Practices and Patterns. Falamos sobre legado, programação funcional, métricas, Domain-driven design e muito mais. Na terça-feira, revisamos e ampliamos (consideravelmente), uma publicação de nosso site sobre obsessão por […]
Software Engineering at Google
Software Engineering at Google – organizado por Titus Winters, Tom Manshreck & Hyrum Wright – é uma referência importante sobre a forma como software é desenvolvido e, principalmente, mantido na Google. O principal destaque, no livro, é a clara distinção entre as práticas de programação e engenharia. De forma sistêmica, são apresentadas técnicas e padrões […]
Verificando parâmetros nulos
Referências nulas são uma verdadeira “dor de cabeça” para desenvolvedores .NET, tanto que, recentemente, o compilador de C# passou a suportar um modelo de desenvolvimento que não permite o uso de nulos. Verificar parâmetros nulos sempre foi uma necessidade. Entretanto, a forma como essa verificação acontece tem mudado ao longo do tempo. No passado, era […]
Um exemplo prático da importância da lei de Conway
[tweet]Mesmo a arquitetura mais cuidadosa de um software sucumbirá frente ao eventual design descuidado dos times de uma organização que a implementará.[/tweet] Afinal, como ensina a lei de Conway, com o tempo, a estrutura de um software tenderá a replicar a estrutura de comunicação da empresa que o desenvolve. Já indicamos, no passado, a importância […]
Micro-otimizações, DDD, o papel do arquiteto e dicas para programar melhor
Lançamos, na última semana, quatro novos vídeos no canal técnico da EximiaCo no Youtube. Começamos a semana falando sobre como avaliar a necessidade de micro-otimizações durante a escrita de código. Também apresentamos algumas técnicas comuns e métodos confiáveis para verificar resultados. Também iniciamos mais uma série no canal: “DDD do jeito certo”. No primeiro vídeo, falamos sobre o […]
Patrick Smacchia recomenda: Dê atenção aos “feedbacks” das ferramentas de análise estática
“Como ser um programador melhor?”. Encerramos uma Patrick Smacchia, para nosso canal no YouTube, fazendo exatamente essa pergunta. No vídeo abaixo, destacamos o que ele respondeu. Patrick é o líder criativo e técnico do NDepend – Uma das melhores para análise estática de código .NET disponíveis do mercado. Ele enxerga código como “dados” e, por isso, há […]
Como “Bloom Filter” pode ser utilizada para melhorar a performance
O código mais rápido que existe é aquele que não precisa ser executado. Considere, por exemplo, que esteja implementando uma funcionalidade para recuperação de senhas. Nesse caso, é um completo desperdício de recursos fazer uma requisição ao servidor apenas para constatar que o e-mail informado não está cadastrado. Entretanto, como fazer para determinar se um […]
Comunicação “excessiva” dos times pode ser causa para o desenvolvimento de software ruim
Ao longo dos anos, escritórios abertos, sem paredes nem divisórias, se tornaram comuns, principalmente em empresas de tecnologia. De forma similar, ferramentas de comunicação onde todo mundo “enxerga” todo mundo se tornaram mais regra do que exceção. Entretanto, diferente do que o senso comum possa apontar, essas características podem não ser uma coisa boa. [tweet]Ambientes […]
Stack, Heap, Garbage Collector, Performance & Arquitetura de Software
Lançamos, na última semana, quatro novos vídeos no canal técnico da EximiaCo no Youtube. Começamos a semana falando sobre a stack. Usando C#, C, C++ e até Assembly, mostramos como ela funciona e qual seu propósito. Além disso, ressaltamos sua importância para a melhoria da performance em aplicações. Depois, explicamos como funciona a heap e […]