Postagens

✔ Otimize seu código usando Task.FromResult ao em vez de Task.Run

Imagem
✔ Otimize seu código usando Task.FromResult ao em vez de Task.Run 💡 #codesmell ✅ Task.Run inicia uma tarefa no pool de threads e retorna um identificador de tarefa Task ou Task<T> para ela. É mais comumente usado para descarregar trabalhos intensivos em CPU para uma thread em segundo plano. ✅ Task.FromResult é um método para criar um Task<T> que já está concluído com o resultado especificado. Isso é útil quando você tem uma API que retorna um Task<T>, mas o resultado já está disponível de forma síncrona. Ele evita o uso desnecessário de threads. 🚀 Task.FromResult é mais rápido do que Task.Run, pois simplesmente cria um Task concluído com o resultado fornecido, enquanto Task.Run agenda um novo item de trabalho no ThreadPool, o que envolve troca de contexto e, portanto, é mais caro. 💡 Use Task.FromResult quando estiver implementando uma API assíncrona que às vezes é concluída de forma síncrona. Também é útil em testes unitários quando você está simulando um método as...

💡 Use nameof para converter um enum para string #codesmell

Imagem
💡 Use nameof para converter um enum para string 💡  #codesmell Quando se trata de converter o nome de um #enum em uma string em C#, existem duas opções poderosas a considerar: #ToString () e #nameof ()! Vamos aprofundar um pouco mais: ✅ ToString(): O método ToString() é uma função inerente ao C# que converte um enum em uma representação de string. A mágica acontece em tempo de execução, o que significa que a conversão é realizada quando o código é executado. Isso proporciona flexibilidade, mas também pode afetar o desempenho, já que a operação ocorre dinamicamente a cada vez que é chamada. ❌ Desvantagem: Como essa representação pode mudar, você pode acabar com "strings mágicas" espalhadas pelo seu código, tornando-o menos seguro e suscetível a erros. ✅ Nameof(): Já a palavra-chave nameof() é uma inovação introduzida no C# 6.0. O segredo da sua eficiência reside no fato de que ele obtém o nome do enum em tempo de compilação, injetando uma sequência literal que nunca muda. Is...

✔ Evite muitos argumentos em uma função. ✌️

Imagem
⭐ #CódigoLimpo 🏅 ✔ Evite muitos argumentos em uma função. ✌️ 🛠️ É uma ótima prática limitar o número de argumentos da função a dois. Se uma função exigir mais do que isso, pode ser um sinal de que a função está fazendo muito e deve ser refatorada. 📖A função deve ter um número limitado de argumentos para facilitar a leitura e a compreensão. 💡Em vez de muitos argumentos em uma função, podemos refatorar a função para usar um único objeto que encapsula todos os dados necessários. 🧐Evitar muitos argumentos em funções é uma prática importante para escrever código limpo e de fácil manutenção. Ao usar objetos para encapsular dados, podemos simplificar assinaturas de funções e tornar nosso código mais legível e fácil de testar. #Programação   #Desenvolvimento   #CleanCode   #csharpprogramming #csharpbrasil   #csharpdotnet   #csharpprogrammer   #programacaoweb   #programaçãocsharp

✅Código Limpo - Use nomes de variáveis significativos e pronunciáveis

Imagem
✅Código Limpo - Use nomes de variáveis significativos e pronunciáveis O nome deve refletir o que a variável ou classe faz e fornecer contexto. É essencial escolher nomes que sejam claros, descritivos e fáceis de entender. 💻Escrever um código limpo não é apenas sobre criar software funcional. É sobre torná-lo compreensível e fácil de manter para você e sua equipe. Uma das chaves para isso é usar nomes de variáveis que façam sentido e sejam fáceis de pronunciar. Nomes como "saldoConta" em vez de "saldo" ou "nomeUsuario" em vez de "nome" fazem toda a diferença. 🎯Lembre-se, programar é uma forma de comunicação, e nomes significativos são a base dessa comunicação. 🔥Espero que este post seja útil para promover a importância do código limpo! #DesenvolvimentoDeSoftware #CódigoLimpo #Programação #CleanCode 💻🧹📚

💻Nomes importam, tanto no código quanto na vida! ✨

Imagem
💻 Nomes importam, tanto no código quanto na vida!  ✨ Nas linguagens de programação, como na vida, as palavras que escolhemos têm um grande impacto. Na programação, convenções de nomenclatura consistentes, como Pascal Case, Camel Case e Snake Case, desempenham um papel crucial na legibilidade do código. 🐍 Snake Case: Usado em Python e Ruby, torna os nomes compostos fáceis de entender e é ótimo para variáveis e funções. A simplicidade é a chave! 🪄 Pascal Case: Ideal para nomes de classes e tipos em linguagens orientadas a objetos, como C# e Java. Pense nisso como uma maneira de dar um nome de destaque às principais funcionalidades. 🐫 Camel Case: Comum em variáveis e funções em Java e JavaScript. A legibilidade é a prioridade aqui, o que é essencial para o marketing. Escolher as convenções de nomenclatura certas não é apenas sobre código limpo, é também uma jogada inteligente de marketing. Nomes claros e significativos facilitam a compreensão e a divulgação do seu projeto. Então, ...

✅ Não utilize múltiplos 𝗢𝗿𝗱𝗲𝗿𝗕𝘆 em sequência.

Imagem
✅ Não utilize múltiplos 𝗢𝗿𝗱𝗲𝗿𝗕𝘆 em sequência. ⚠ O operador 𝗢𝗿𝗱𝗲𝗿𝗕𝘆 é empregado para organizar uma sequência de elementos com base em uma chave específica. Quando você encadeia várias chamadas de OrderBy, cada chamada subsequente refaz completamente a ordenação da lista, descartando os resultados da chamada anterior. Isso implica que somente a última chamada de OrderBy terá impacto na ordenação final da sequência. 🐌 Fazer múltiplas chamadas de 𝗢𝗿𝗱𝗲𝗿𝗕𝘆 também pode causar problemas de desempenho, visto que cada chamada de OrderBy realiza uma classificação completa da lista, o que pode ser dispendioso. Ao encadear várias chamadas de OrderBy, você, essencialmente, executa múltiplas classificações completas, o que pode significativamente abrandar a execução do seu código. ✅ O método 𝗧𝗵𝗲𝗻𝗕𝘆 é aplicado após o OrderBy inicial para incluir condições adicionais de ordenação. Isso garante que os dados sejam ordenados, primeiramente, pelo primeiro campo (Nome neste exemp...

✔ Use string.Equals em vez de ToUpper()/ToLower() ao comparar strings

Imagem
✔ Use string.Equals em vez de ToUpper()/ToLower() ao comparar strings ⛔ Code Smell 🐌 Usar ToUpper() e ToLower() para conversão de maiúsculas e minúsculas em C# pode afetar o desempenho devido à alocação de memória, cópia de strings e possíveis operações de coleta de lixo, especialmente em situações que envolvem strings grandes ou conversões frequentes. 🚀 string.Equals é mais rápido do que ToUpper() ou ToLower() devido à comparação direta de caracteres, evitando a alocação de memória e reduzindo a sobrecarga nas comparações de strings que não diferenciam maiúsculas de minúsculas. 🔥 Para realizar comparação de strings, é melhor usar os métodos de comparação incorporados, como string.Equals com as opções apropriadas de StringComparison, que lidam corretamente com insensibilidade a maiúsculas e minúsculas e considerações culturais, ao mesmo tempo que mantêm melhor desempenho e precisão. 🤓Incluí string Compare nos benchmarks para fins educacionais, mas ele é mais adequado para ordernar ...