<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Rebeca Albuquerque</title>
    <description>The latest articles on DEV Community by Rebeca Albuquerque (@albuquerquedev).</description>
    <link>https://dev.to/albuquerquedev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1162340%2F09b5d7ec-97d3-4bee-ac56-fde300880b38.jpg</url>
      <title>DEV Community: Rebeca Albuquerque</title>
      <link>https://dev.to/albuquerquedev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/albuquerquedev"/>
    <language>en</language>
    <item>
      <title>Quais são as boas práticas do Código Limpo?</title>
      <dc:creator>Rebeca Albuquerque</dc:creator>
      <pubDate>Thu, 26 Oct 2023 19:59:52 +0000</pubDate>
      <link>https://dev.to/albuquerquedev/quais-sao-as-boas-praticas-do-codigo-limpo-1g95</link>
      <guid>https://dev.to/albuquerquedev/quais-sao-as-boas-praticas-do-codigo-limpo-1g95</guid>
      <description>&lt;p&gt;Neste artigo, vamos explorar o conceito e demais princípios que estão relacionados a ele. Existe algumas formas simples e algumas boas práticas para a realização correta do Clean Code, ou Código Limpo, como conhecemos. &lt;/p&gt;

&lt;h2&gt;
  
  
  Boa nomenclatura - escolha bons nomes para o seu código:
&lt;/h2&gt;

&lt;p&gt;Os nomes são muito importantes para facilitar a comunicação e a compreensão do projeto ou software. Eles devem ser simples e diretos, sem ambiguidades ou confusões. Isso vale para qualquer elemento do código, como variáveis, funções, parâmetros, classes ou métodos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tratamento de erros:
&lt;/h2&gt;

&lt;p&gt;Estamos acostumados a erros no processo. Mas, precisamos garantir que o software continue funcionando, mesmo diante de contratempos. Portanto, a gestão de erros é essencial e deve informar o usuário de forma simples. Assim, o software se mantém funcionando e o usuário entende o que ocorreu de errado.&lt;/p&gt;

&lt;h2&gt;
  
  
  Faça testes:
&lt;/h2&gt;

&lt;p&gt;Testar o software é tão importante quanto tratar os erros, pois garante que o projeto funcione bem e atenda aos requisitos. Eu diria que é essencial, pois sem testes não dá para saber se o software está fazendo o que deveria ou não.&lt;/p&gt;

&lt;h3&gt;
  
  
  Aqui estão três exemplos de princípios de Código Limpo.
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Java - Comentários Significativos:
&lt;/h3&gt;

&lt;p&gt;Comentários bem colocados explicam a finalidade e o contexto do código, tornando-o mais claro para outros desenvolvedores que podem precisar trabalhar nele no futuro.&lt;/p&gt;

&lt;h3&gt;
  
  
  // Exemplo não limpo:
&lt;/h3&gt;

&lt;p&gt;int resultado = calcular(idade, salario, true);&lt;/p&gt;

&lt;h3&gt;
  
  
  // Exemplo de código limpo:
&lt;/h3&gt;

&lt;p&gt;// Calcula o bônus com base na idade e no salário, aplicando o ajuste para novos funcionários.&lt;/p&gt;

&lt;p&gt;int bonus = calcularBonus(idade, salario, true);&lt;/p&gt;

&lt;h2&gt;
  
  
  JavaScript - Funções Pequenas e Focadas:
&lt;/h2&gt;

&lt;p&gt;Dividir uma função grande e complexa em funções menores, cada uma com uma única responsabilidade, torna o código mais fácil de entender e de manter.&lt;/p&gt;

&lt;h3&gt;
  
  
  // Exemplo não limpo:
&lt;/h3&gt;

&lt;p&gt;function processarPedido(pedido) {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Lógica complexa de processamento de pedido

// ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;h3&gt;
  
  
  // Exemplo de código limpo:
&lt;/h3&gt;

&lt;p&gt;function validarPedido(pedido) {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Lógica de validação do pedido

// ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;function calcularTotal(pedido) {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Lógica de cálculo do total

// ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;h2&gt;
  
  
  Python - Nomes Descritivos Significativos:
&lt;/h2&gt;

&lt;p&gt;No exemplo de código limpo, as variáveis e funções têm nomes descritivos que indicam claramente o que estão fazendo, tornando o código mais legível.&lt;/p&gt;

&lt;h3&gt;
  
  
  // Exemplo não limpo:
&lt;/h3&gt;

&lt;p&gt;def f():&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x = 5

&lt;p&gt;y = 10&lt;/p&gt;

&lt;p&gt;return x + y&lt;br&gt;
&lt;/p&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  //Exemplo de código limpo:&lt;br&gt;
&lt;/h3&gt;

&lt;p&gt;def calcular_soma():&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;valor1 = 5

&lt;p&gt;valor2 = 10&lt;/p&gt;

&lt;p&gt;return valor1 + valor2&lt;br&gt;
&lt;/p&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  5 livros sobre Código Limpo, ou Clean Code:&lt;br&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Clean Code - A Habilidade Essencial para o Desenvolvedor Moderno, do autor Robert C. Martin;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Clean Architecture: Um Guia Prático para Desenvolvedores e Designers, do autor Robert C. Martin;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;O Programador Pragmático: Sua Jornada para se Tornar um Excelente Desenvolvedor, dos autores Andrew Hunt e Dave Thomas; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Refatoração: Aperfeiçoando o Design de Código, do autor Martin Fowler;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Projeto Limpo: Best Practices, do autor Robert C. Martin;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Simplificando Orientação a Objetos</title>
      <dc:creator>Rebeca Albuquerque</dc:creator>
      <pubDate>Fri, 15 Sep 2023 21:24:23 +0000</pubDate>
      <link>https://dev.to/albuquerquedev/simplificando-orientacao-a-objetos-4n69</link>
      <guid>https://dev.to/albuquerquedev/simplificando-orientacao-a-objetos-4n69</guid>
      <description>&lt;p&gt;&lt;strong&gt;Objetos&lt;/strong&gt;&lt;br&gt;
Uma forma de entender a programação orientada a objetos (POO) é pensar em uma caixa de Lego gigante, onde cada peça é um objeto. Os objetos têm propriedades (cor, tamanho, forma) e podem fazer coisas específicas. Com POO, você cria seus programas como se estivesse construindo um mundo de lego.&lt;/p&gt;

&lt;p&gt;Classes e Objetos&lt;br&gt;
Vamos pensar em objetos como coisas do mundo real que têm características e funções. Por exemplo, um carro é um objeto que tem cor, modelo, velocidade, etc. (características) e que pode acelerar, frear, ligar, etc. (funções). Para criar objetos em um programa, precisamos de uma estrutura que defina essas características e funções. Essa estrutura é chamada de classe.&lt;/p&gt;

&lt;p&gt;Encapsulamento e Abstração&lt;br&gt;
Uma forma de entender o encapsulamento é pensar em um micro-ondas. Você não precisa saber como ele aquece a comida, só precisa apertar os botões certos. O encapsulamento esconde os detalhes internos e mostra apenas o que é necessário. Já a abstração é como uma lista de compras: você não precisa saber de onde vem cada produto, só precisa pegá-los no mercado. A abstração simplifica as coisas e ignora o que é desnecessário.&lt;/p&gt;

&lt;p&gt;Herança e Polimorfismo&lt;br&gt;
Uma herança é pensar na relação entre pais e filhos. Por exemplo, você pode ter uma classe "Animal" que define características comuns a todos os animais, como "respirar". Depois, você pode ter classes "Cachorro" e "Gato" que herdam essas características da classe "Animal", mas também podem ter características próprias, como "latir" e "miar". O polimorfismo é a capacidade de objetos diferentes terem nomes de método iguais, mas com comportamentos diferentes, como diferentes tipos de cachorro reagindo ao comando "sentar".&lt;/p&gt;

&lt;p&gt;Aplicação Prática&lt;br&gt;
 Agora sabendo o básico, você pode criar objetos, definir classes e usar conceitos como herança e polimorfismo para resolver problemas de forma mais fácil e estruturada. É como ter um superpoder para enfrentar os desafios da programação.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
