Sobre ideias, códigos, arquiteturas e boas práticas em desenvolvimento de software.

Chain Of Responsibility e Builder - Um exemplo prático em Kotlin

Os Design Patterns Chain Of Responsibility O Chain of Responsibility (Cadeia de Responsabilidade) é um padrão de projeto que permite organizar objetos em uma sequência hierárquica, onde cada objeto na cadeia tem a capacidade de processar uma solicitação ou passá-la para o próximo nível da hierarquia. Esse padrão é útil quando múltiplos objetos podem lidar com uma solicitação, mas não se sabe antecipadamente qual deles será responsável por processá-la.

Empatia Assertiva - Como ser um líder incisivo sem perder a humanidade

Liderar pessoas não é uma tarefa fácil, fato que é bastante comentado e é origem de vários conteúdos pelo mundo a fora. Vários desses conteúdos abordam o desafio central da liderança: pessoas. As diferentes personalidades, opiniões, momentos de vida, experiências, etc, influenciam na forma como o líder gera o time, pois é preciso sempre um cuidado para que sua liderança não se torne uma tirania (ou uma liderança totalmente omissa), e que também consiga trazer resultados satisfatórios para a empresa e que sejam motivo de orgulho para o time. É justamente na forma como o líder deve tratar as pessoas que o livro Empatia assertiva: como ser um líder incisivo sem perder a humanidade se baseia. Nele, a autora Kim Scott traz diversas sugestões práticas baseadas em sua própria experiência, de como os líderes podem levar seus times ao sucesso sem que o lado humano da liderança seja deixado de lado.

Kotlin Scope Functions

A biblioteca padrão do Kotlin possui algumas funções com o propósito de criar blocos de código dentro do contexto de um determinado objeto. Esses blocos temporários de código são criados utilizando expressões lambda e permitem que os atributos do objeto em questão sejam acessados sem a necessidade de utilizar o nome deles.

SOLID by example com Kotlin

Desenvolver software é uma arte. Porém, ao contrário de algumas formas de arte, onde o observador possui a liberdade de interpreta-la com base nas suas próprias percepções, um software não pode possuir diferentes formas de interpretação. Então, o desenvolvimento de software é a arte de criar código claro, conciso e auto explicativo.