Como separar apenas a diferença entre duas branches em uma nova branch?
11 de out. de 2024
É muito comum no desenvolvimento de software trabalharmos em coisas que foram planejadas para saírem em uma mesma versão, mas como nem tudo são flores, imprevistos acontecem e algumas coisas já não devem mais sair na mesma versão e é necessário separar. Alguns processos de controle de versão podem ser um pouco complexos e separar as coisas manualmente é uma tarefa dolorosa. Graças ao nosso querido Linus Torvalds, criador do git, podemos fazer isso de forma muito simples com apenas alguns comandos que vamos ver neste artigo.
O que é design de código no desenvolvimento de software
19 de dez. de 2023
O que de fato é design de código? Em que etapa do processo de desenvolvimento de software ele entra em cena? Quais os benefícios de manter um bom design de código? Várias questões com respostas relativamente simples, tenho certeza que muitos devs por ai, assim como eu, o praticam sem muita consciência sobre a teoria.
Tipos de referência, tipos anuláveis, imutabilidade e efeitos colaterais
24 de nov. de 2023
Muitas linguagens de programação possuem tipos de referência e tipos de valor com algumas diferenças no conceito entre elas, mas aqui vamos falar sobre como isso funciona no C#, e também em como esses conceitos estão relacionados com imutabilidade e com “efeitos colaterais”.
Ser consistente sem convenções limitantes
12 de nov. de 2023
Mais um post sobre odores de código hoje falando sobre Inconsistência o principio da inconsistência é simples e não rende muito assunto, apesar de ser muito importante manter a consistência pode acabar criando um grande dilema, que é a de manter-se consistente a qualquer custo ou permitir-se ser inconsistente para adicionar melhorias significativas de forma incremental.
Mentalidade para ser um desenvolvedor de software mais eficiente
8 de set. de 2023
De vez em quando paro para pensar quais virtudes os desenvolvedores de software devem desenvolver para se tornarem mais eficientes profissionalmente e resolvi falar sobre alguns conceitos que acredito serem super importantes, que todo profissional deveria conhecer e praticar.
A super engenharia dos nomes significativos
10 de jul. de 2023
De longe, a tarefa mais desafiadora para um desenvolvedor de software experiente é encontrar bons nomes para as coisas que ele cria, classes, instâncias, variáveis, métodos entre outros. Mas a preocupação com nomes expressivos nos leva a exageros que acabam dificultando a leitura do código pela expressividade excessiva e redundância. Por esse motivo vamos explorar um pouco o que o código limpo diz sobre isso.
Inveja de recursos por que preocupar-se com esse odor no código
22 de jun. de 2023
A inveja de recursos é um odor de código muito mais comum do que parece e às vezes é ignorado até mesmo por desenvolvedores mais experientes. Vou falar sobre os benefícios para o seu código se você evitá-lo, alguns deles são legibilidade, melhor atribuição de responsabilidades, encapsulamento, imutabilidade e em alguns casos ajuda com alguns conceitos SOLID como Princípio de Responsabilidade Única (SRP).
Explorando os tipos DateOnly e TimeOnly do .NET
28 de mar. de 2023
Com o lançamento do .NET 6, temos dois novos tipos TimeOnly e DateOnly dedicados para hora e data, respectivamente. Explorarei esses dois novos tipos e o bom DateTime.