Atomic Design na prática com React em um projeto real da RD StationLink externo, abre em uma nova aba
Um caso real onde utilizamos o modelo mental do Atomic Design para construir componentes React.
Como podemos utilizar o Atomic Design para administrar a complexidade, favorecendo a legibilidade, escalabilidade e flexibilidade do código.
Na minha última publicação sobre como fizemos a descoberta dos domínios (DDD) do RD Station Marketing através do EventStorming, eu mencionei como a decisão de utilizar Outcomes foi crucial para dividir o negócio em domínios.
Em meados de 2020, quando a RD Station ainda se chamava Resultados Digitais, a área de engenharia e produto já possuía aproximadamente 40 times distintos, resultado de um crescimento acelerado.

A mudança é inerente à carreira que escolhemos. Engenharia de software é uma área movida por inovação, e isso significa passar boa parte do tempo aprendendo, questionando o que já sabemos e, muitas vezes, nos sentindo novamente como iniciantes diante de algo pouco familiar.
Este blog é uma das formas que encontrei de organizar meus aprendizados, compartilhar experiências e trocar conhecimento sobre os desafios que encontro pelo caminho.
Recentemente o David Heinemeier Hansson (DHH) publicou um post com o polêmico título “TDD is dead. Long live testing.” (TDD está morto. Longa vida ao teste) que teve grande repercussão e a comunidade tem falado só sobre isso ultimamente. E isso não poderia ter acontecido em melhor hora, pois eu estou exatamente preparando um treinamento de TDD e BDD, então estou com muita informação para debater o assunto.
Existem várias vantagens em utilizar a imutabilidade. Uma vantagem muito forte é a otimização de memória, a própria API da linguagem Java usa a imutabilidade como uma vantagem para fazer cache e reaproveitamento de instâncias.
Para quem ainda não se familiarizou com o Git, fica a dica de um ótimo curso grátis: