<?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: Bea Lourenço</title>
    <description>The latest articles on DEV Community by Bea Lourenço (@bealou).</description>
    <link>https://dev.to/bealou</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%2F886370%2Fede47e26-d6d7-46d9-9159-5cf1091f725b.jpeg</url>
      <title>DEV Community: Bea Lourenço</title>
      <link>https://dev.to/bealou</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bealou"/>
    <language>en</language>
    <item>
      <title>O que eu pude aprender lendo Clean Coder?</title>
      <dc:creator>Bea Lourenço</dc:creator>
      <pubDate>Mon, 17 Mar 2025 18:31:57 +0000</pubDate>
      <link>https://dev.to/bealou/o-que-eu-pude-aprender-lendo-clean-coder-4jac</link>
      <guid>https://dev.to/bealou/o-que-eu-pude-aprender-lendo-clean-coder-4jac</guid>
      <description>&lt;p&gt;Bom, o livro Clean Coder faz parte de uma coleção de livros do autor Robert C. Martin (nosso queridíssimo Uncle Bob) que busca orientar desenvolvedores sobre boas práticas relacionadas ao mundo do desenvolvimento de software. &lt;/p&gt;

&lt;p&gt;Minha primeira experiência com o autor foi com o livro Clean Code, livro voltado principalmente a boas práticas ligadas ao código - como o uso estratégico de comentários, a importância dos testes, a relevância de bons nomes para funções e variáveis, dentre muitos outros conselhos interessantes. &lt;/p&gt;

&lt;p&gt;Já no segundo livro que tive contato, o foco é em se tornar um bom desenvolvedor, sabendo os momentos de dizer sim e não, como assumir e arcar com as responsabilidades, como interagir bem com o time, se manter sempre atualizado e agregar valor à empresa.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Profissionalismo&lt;/strong&gt; - em relação ao profissionalismo, algumas mensagens importantes, em minha humilde opinião são os seguintes: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Um bom profissional sabe como se portar no ambiente corporativo, de acordo com os códigos de conduta do lugar em que está;&lt;/li&gt;
&lt;li&gt;Um bom profissional mantém seu time sempre a par do status do projeto, independente de qual seja;&lt;/li&gt;
&lt;li&gt;Um bom profissional está sempre atento às demandas da empresa e do cliente;&lt;/li&gt;
&lt;li&gt;Fugir dos pontos supracitados, o transforma num mal profissional.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Dizer sim&lt;/strong&gt; - um bom profissional sabe os momentos certos para dizer sim, sem ceder à pressão ou influência de terceiros, que poderia influenciar negativamente no decorrer do projeto; mais profissionais dizem sim pra tudo e acabam não conseguindo arcar com suas responsabilidades e comprometimento.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dizer não&lt;/strong&gt; - seguindo a linha do sim, bons profissionais também sabem o momento certo para dizer não, para evitar contrair mais responsabilidades do que podem atender. Da mesma forma, dizer não para tudo, o torna um mau profissional.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Testes de aceite&lt;/strong&gt; - os testes de aceite são necessários para garantir que o sistema cumpra com o desejado. O ideal é que seja escrito pelo QA e pelo Analista de negócios (para garantir que os caminhos felizes e tristes estão cobertos e garantir maior qualidade do software. Vale lembrar que um bom desenvolvedor testa seu código e o envia funcional para o QA).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Praticar&lt;/strong&gt; - é certo que a prática leva a perfeição e algumas considerações trazidas pelo autor são: seu tempo de trabalho não deve ser seu tempo de prática. Todas as profissões demandam prática e isso não seria diferente no desenvolvimento. Uma recomendação interessante é escolher um algoritmo e desenvolver soluções para ele, até o domínio completo e também o pair programming.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pressão&lt;/strong&gt; - a pressão é algo presente no cotidiano de todas as pessoas, o ponto alto é a forma que se lida com essas pressões impostas, seja em relação ao tempo ou as maneiras que as demandas que devem ser entregues.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Estimativas&lt;/strong&gt; - em relação às estimativas, o ponto mais legal abordado foi a forma que diferentes profissionais/setores enxergam as estimativas.&lt;br&gt;
O pessoal da área de negócios entende as estimativas como algo já definido, ou seja, eles precisam de um prazo e acreditam que &lt;em&gt;essa estimativa de prazo é 100% real e fidedigna&lt;/em&gt;. Em contrapartida, para os desenvolvedores, uma estimativa é uma ideia do tempo que pode levar para que uma tarefa seja executada, variando para mais ou para menos. &lt;br&gt;
Existe um modelo de cálculo de estimativas sugerido no livro que pode ajudar a encontrar um valor médio aceitável para as estimativas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Colaboração&lt;/strong&gt; - é importante entender que existem diversas relações em que a colaboração é necessária: entre desenvolvedores e pessoas, clientes, empregadores e até mesmo (creio que principalmente) entre desenvolvedores, afinal, compartilhar conhecimento, escrever um código inteligível, trabalhar em conjunto para resolver problemas facilita e agiliza bastante o processo de desenvolvimento.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Times e projetos&lt;/strong&gt; - em suma, é preferível construir um bom time, bem integrado e capacitado, que possa atuar em diversos projetos do que desmembrar, criar e recriar times todas as vezes que um novo projeto for aprovado.&lt;/p&gt;

</description>
      <category>cleancoder</category>
      <category>programadorlimpo</category>
      <category>boaspraticas</category>
      <category>goodpractices</category>
    </item>
    <item>
      <title>Clean Code – Anotações interessantes sobre os capítulos de 12 à 14</title>
      <dc:creator>Bea Lourenço</dc:creator>
      <pubDate>Sat, 04 May 2024 02:52:46 +0000</pubDate>
      <link>https://dev.to/bealou/clean-code-anotacoes-interessantes-sobre-os-capitulos-de-12-a-14-3304</link>
      <guid>https://dev.to/bealou/clean-code-anotacoes-interessantes-sobre-os-capitulos-de-12-a-14-3304</guid>
      <description>&lt;p&gt;&lt;strong&gt;Capítulo 12 – Emergência&lt;/strong&gt; &lt;br&gt;
No capítulo 12, de acordo com Kent, o design de um sistema é considerado simples caso siga as seguintes regras:&lt;br&gt;
• Passa por todos os testes;&lt;br&gt;
• Não há duplicidade;&lt;br&gt;
• Expressa a intenção do programador; e&lt;br&gt;
• Minimiza o número de classes e métodos.&lt;/p&gt;

&lt;p&gt;Também é dito que, havendo testes, somos impulsionados a manter nosso código limpo e podemos alcançar isso refatorando o código. Além disso, quanto mais claro o código for escrito pelo autor, menor será o tempo demandado para compreender o que ele deve fazer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Capítulo 13 – Simultaneidade&lt;/strong&gt;&lt;br&gt;
O capítulo 13 começa citando alguns mitos sobre o uso de simultaneidade no desenvolvimento, sendo eles: &lt;br&gt;
• Simultaneidade melhora performance;&lt;br&gt;
• O design não muda ao escrever código simultâneo;&lt;br&gt;
• Entender simultaneidade não é importante ao usar contêineres como Web ou EJB.&lt;br&gt;
Também é mencionado algo mais fidedigno em relação a construção de softwares simultâneos:&lt;br&gt;
• Simultaneidade incorre em alguma sobrecarga, tanto em performance quanto em código adicional;&lt;br&gt;
• O uso correto de simultaneidade é complexo, mesmo em casos simples;&lt;br&gt;
• Bugs de simultaneidade normalmente não se repetem, por isso comumente são ignorados;&lt;br&gt;
• Simultaneidade geralmente demanda uma mudança significativa na estratégia de design.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Capítulo 14 – Refinamento sucessivo&lt;/strong&gt;&lt;br&gt;
O capítulo 14 começa dizendo que, para escrever um bom código limpo, primeiro é necessário escrever o código “sujo” e “limpá-lo”. &lt;br&gt;
O autor sugere como alternativa interessante o TDD (Test-Driven Development), que torna impossível prosseguir com o desenvolvimento de código que causa danos ao sistema, já que a premissa é escrever primeiro um teste e passar por ele, antes de seguir com novos desenvolvimentos. &lt;/p&gt;

&lt;p&gt;Observação sobre os capítulos 15 ao 17: São capítulos mais voltados a análise de algumas ferramentas e refatoração de classes levando em consideração conceitos abordados no livro, além de uma visão geral dos capítulos anteriores. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Clean Code – Anotações interessantes sobre os capítulos de 8 a 11</title>
      <dc:creator>Bea Lourenço</dc:creator>
      <pubDate>Thu, 02 May 2024 02:24:36 +0000</pubDate>
      <link>https://dev.to/bealou/clean-code-anotacoes-interessantes-sobre-os-capitulos-de-8-a-11-23b9</link>
      <guid>https://dev.to/bealou/clean-code-anotacoes-interessantes-sobre-os-capitulos-de-8-a-11-23b9</guid>
      <description>&lt;p&gt;&lt;strong&gt;Capítulo 8 - limites&lt;/strong&gt;&lt;br&gt;
No oitavo capítulo, falamos sobre os limites de um sistema e a importância de conhecê-los bem. Um ponto interessante a ser considerado é o uso do código de terceiros, como bibliotecas e APIs, pois nosso acesso, enquanto usuários, é limitado e precisamos controlar essas limitações, para não interferirem no sistema que está sendo desenvolvido; inclusive, testes são uma boa maneira de aprender sobre o código de terceiros, seus limites e ainda assim, manter testes coerentes ao projeto.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Capítulo 9 – testes unitários&lt;/strong&gt;&lt;br&gt;
No nono capítulo, o assunto tratado foi um dos mais interessantes: testes unitários. Confesso que é um tema que não domino e pude aprender bastante com este capítulo. &lt;br&gt;
Gostaria de citar 3 leis do TDD (Test Driven Development) – fora a famigerada “primeiro escreva os testes, depois o código”.&lt;/p&gt;

&lt;p&gt;• Primeira Lei: não escreva código até que tenha escrito um teste que falhe;&lt;br&gt;
• Segunda Lei: não escrever mais do que um teste suficiente pra falhar e não compilar é considerado falha.&lt;br&gt;
• Não escrever mais código do que o necessário para passar o teste que está falhando;&lt;br&gt;
É importante manter os testes limpos e organizados, para garantir que o código se mantenha flexível.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Capítulo 10 – Classes&lt;/strong&gt;&lt;br&gt;
No capítulo 10, o tema classes é abordado e um dos pontos interessantes é a primeira regra sobre classes: elas devem ser pequenas. A segunda é que devem ser menores do que isso XD&lt;br&gt;
Classes devem seguir o princípio de responsabilidade única (SRP) e devem também ser coesas. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Capítulo 11 – Sistemas&lt;/strong&gt;&lt;br&gt;
O capítulo 11 aborda alguns pontos sobre arquiteturas de sistema, mas em suma, sistemas no geral precisam ser considerados/construídos limpos. Uma arquitetura bagunçada pode impactar na lógica e na agilidade, facilitando o aparecimento de bugs. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Clean Code – Anotações interessantes sobre os capítulos de 4 a 7</title>
      <dc:creator>Bea Lourenço</dc:creator>
      <pubDate>Wed, 03 Apr 2024 00:27:25 +0000</pubDate>
      <link>https://dev.to/bealou/clean-code-anotacoes-interessantes-sobre-os-capitulos-de-4-a-7-5i9</link>
      <guid>https://dev.to/bealou/clean-code-anotacoes-interessantes-sobre-os-capitulos-de-4-a-7-5i9</guid>
      <description>&lt;p&gt;Oioi pessoal, tudo bem? Hoje eu trago alguns pontos que achei interessantes sobre o livro Clean Code. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Capítulo 4 – comentários&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;O quarto capítulo nos traz algumas boas práticas relacionadas ao uso de comentários. Em primeiro lugar, precisamos saber que comentários boa parte das vezes, são decorrentes da falha dos desenvolvedores, ao escrever o código, salvo casos em que são realmente necessários (como comentários legais) ou trazem algum benefício real. &lt;br&gt;
Alguns tipos de comentário são: informativos, sobre algo que está acontecendo; explicação de intenção, sobre algo que se espera que aconteça em determinado bloco de código; aviso de consequências, caso o bloco de código seja alterado; comentários TODO, para documentar tarefas à fazer. &lt;br&gt;
Além disso, há comentários que são maus, como comentários redundantes e comentários errôneos, comentários desconexos/distantes do código relacionado e comentários muito extensos, dificultando a compreensão do código. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Capítulo 5 – formatação&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;O quinto capítulo aborda a importância do código bem formatado, para facilitar a leitura e compreensão do que está escrito. É importante a definição de um padrão, que deverá ser seguido ao longo de todo código. Alguns pontos que achei relevantes, foram: evitar linhas muito extensas, para evitar o scroll para o lado, evitar tabulações estranhas, como espaçar tipagem e nome de atributos, organizar chaves e quebras de linhas, definir variáveis próximas ao seu lugar de uso.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Capítulo 6 – objetos e estruturas de dados&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;O sexto capítulo traz considerações interessantes sobre objetos e estruturas de dados. [...] Esconder a implementação é sobre abstrações. Objetos: “escondem” seus dados através de abstrações e expõem funções que operam aqueles dados escondidos; Estruturas de dados: expõem seus dados e não possuem funções significativas.&lt;br&gt;
Além disso, também é citada a Lei de Demeter, comumente utilizada em desenvolvimento orientado a objeto, abordando o acoplamento fraco. Alguns pontos são levados em conta, sendo eles:&lt;br&gt;
• Cada unidade deve possuir conhecimento limitado sobre as outras unidades;&lt;br&gt;
• Cada unidade se relaciona apenas com seus “amigos”, nunca com “estranhos”;&lt;br&gt;
• Apenas se relacionar com “amigos próximos”.&lt;br&gt;
Em suma, objetos expõem comportamentos e escondem dados, facilitando a criação de novos objetos, sem alterar os comportamentos existentes. Isso também dificulta adicionar novos comportamentos a objetos existentes. Sendo assim, estruturas de dados são o oposto, expondo dados e não possuindo comportamentos significantes; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Capítulo 7 – tratamento de erros&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No sétimo capítulo, são trazidas algumas considerações sobre o tratamento de erros. A responsabilidade do desenvolvedor é garantir que, caso ocorra, não seja algo fatal e o código faça o que precisa ser feito. A seguir, alguns pontos que achei interessantes deste capítulo: Escrever primeiro os try/catches, dar um contexto para as exceções, definir classes de exceção de acordo com as necessidades de chamada, definir um fluxo “padrão”, não retornar nulo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fonte&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com.br/Robert-Martin-Clean-Collection-English-ebook/dp/B00666M59G" rel="noopener noreferrer"&gt;Link do e-book&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Como é a Pós-Graduação EAD?</title>
      <dc:creator>Bea Lourenço</dc:creator>
      <pubDate>Sat, 23 Mar 2024 12:06:28 +0000</pubDate>
      <link>https://dev.to/bealou/como-e-a-pos-graduacao-ead-5786</link>
      <guid>https://dev.to/bealou/como-e-a-pos-graduacao-ead-5786</guid>
      <description>&lt;p&gt;Olá pessoal, tudo bom?&lt;/p&gt;

&lt;p&gt;Trouxe meus centavos de contribuição sobre como é o estudo à distância. Ao longo da jornada acadêmica, estudei de forma presencial, aulas ao vivo através de plataformas de videochamada e, por fim, aulas 100% à distância.&lt;/p&gt;

&lt;p&gt;Na instituição em que estudo, as aulas são disponibilizadas por partes no decorrer do curso e eu tenho duas atividades para composição de nota. &lt;/p&gt;

&lt;p&gt;O conteúdo até agora foi bastante teórico e dependendo da matéria, existem algumas leituras obrigatórias (até então, foi bem tranquilo, apenas alguns artigos ou capítulos específicos de livros). &lt;/p&gt;

&lt;p&gt;Em relação aos prós e contras...&lt;/p&gt;

&lt;p&gt;Prós:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;As aulas são fáceis de compreender, graças a explicação dos professores e ao material de apoio;&lt;/li&gt;
&lt;li&gt;Posso estudar em qualquer lugar, em qualquer horário. Assim consigo escolher horários em que consigo me concentrar melhor e dar mais atenção para cada tópico;&lt;/li&gt;
&lt;li&gt;Posso repetir as aulas quantas vezes forem necessárias;&lt;/li&gt;
&lt;li&gt;Posso tirar dúvidas com professores, sobre a matéria;&lt;/li&gt;
&lt;li&gt;Onde estudo, os temas das aulas são divididos em blocos menores, o que ajuda bastante na organização dos estudos.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Contras:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Demanda organização e disciplina. Da mesma forma que facilita a organização, pode acabar complicando devido a liberdade e flexibilidade de dias/horários e acaba gerando acúmulo de matéria pra estudar;&lt;/li&gt;
&lt;li&gt;Pode ser complicado encontrar um lugar adequado/silencioso para estudar.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Eu costumo estudar fazendo anotações em formato de perguntas sobre a matéria e depois respondo, com base no material de apoio, revisando os vídeos de acordo com a necessidade e também tento "explicar" pra alguém o que estou estudando.&lt;/p&gt;

&lt;p&gt;Até então, tem sido uma experiência bem proveitosa, consigo organizar meus estudos de acordo com a rotina de trabalho e demais tarefas. No início, fiquei um pouco apreensiva por ser algo novo, mas achei uma forma de estudo bem confortável e me adaptei super bem. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Meus insights lendo Clean Code</title>
      <dc:creator>Bea Lourenço</dc:creator>
      <pubDate>Wed, 12 Jul 2023 22:31:19 +0000</pubDate>
      <link>https://dev.to/bealou/clean-code-anotacoes-interessantes-sobre-o-prefacio-e-os-3-primeiros-capitulos-15oc</link>
      <guid>https://dev.to/bealou/clean-code-anotacoes-interessantes-sobre-o-prefacio-e-os-3-primeiros-capitulos-15oc</guid>
      <description>&lt;p&gt;Este é um artigo sobre o livro Clean Code - Robert C. Martin, em que pretendo trazer, de forma sucinta, anotações e comentários sobre o que aprendi com a leitura.&lt;/p&gt;

&lt;p&gt;Logo no prefácio, é citada a metodologia 5S - até então, eu só conhecia o 5S utilizado em ambiente industrial, graças ao trabalho do meu pai - cujos conceitos são:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Seiri (ou utilização, em português);&lt;/li&gt;
&lt;li&gt;Seiton (ou organização, em português);&lt;/li&gt;
&lt;li&gt;Seiso (ou limpeza, em português);&lt;/li&gt;
&lt;li&gt;Seiketsu (ou normalização);&lt;/li&gt;
&lt;li&gt;Shutsuke (ou disciplina);&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Já no primeiro capítulo (Clean Code)&lt;/strong&gt; , o autor nos faz pensar sobre o que é o código limpo, como deve ser feito e sua função. Gosto bastante do trecho que diz que o código limpo pode ser lido, compreendido e alterado por um desenvolvedor diferente do autor. Além disso, o código deve possuir testes de unidade/unitários/de aceite, possuir nomes significativos e poucas dependências. Ademais, evitar duplicidade de código também é importantíssimo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No segundo capítulo (Meaninful Names)&lt;/strong&gt; , é abordada a importância de nomes bem definidos para classes, atributos, métodos e responder questionamentos importantes, como: "Por que existe?", "O que faz?" e "Como é usado?"; deve evitar desinformação; o nome de uma classe deve conter um substantivo e evitar verbos; em contrapartida, métodos devem possuir verbos em seu nome; manter um contexto significativo e evitar o excesso de informação gratuita.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O assunto tratado é função (Functions)&lt;/strong&gt; e acredito que o principal ponto trazido é: funções devem fazer apenas uma coisa, fazê-la bem e apenas isso. Ademais, devem ser curtas, evitar misturar abstrações pois pode dificultar a leitura e compreensão do que é feito.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O quarto capítulo nos traz algumas boas práticas relacionadas ao uso de comentários.&lt;/strong&gt; Em primeiro lugar, precisamos saber que comentários boa parte das vezes, são decorrentes da falha dos desenvolvedores, ao escrever o código, salvo casos em que são realmente necessários (como comentários legais) ou trazem algum benefício real. &lt;/p&gt;

&lt;p&gt;Alguns tipos de comentário são: informativos, sobre algo que está acontecendo; explicação de intenção, sobre algo que se espera que aconteça em determinado bloco de código; aviso de consequências, caso o bloco de código seja alterado; comentários TODO, para documentar tarefas à fazer. &lt;/p&gt;

&lt;p&gt;Além disso, há comentários que são maus, como comentários redundantes e comentários errôneos, comentários desconexos/distantes do código relacionado e comentários muito extensos, dificultando a compreensão do código. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O quinto capítulo aborda a importância do código bem formatado&lt;/strong&gt;, para facilitar a leitura e compreensão do que está escrito. É importante a definição de um padrão, que deverá ser seguido ao longo de todo código. Alguns pontos que achei relevantes, foram: evitar linhas muito extensas, para evitar o scroll para o lado, evitar tabulações estranhas, como espaçar tipagem e nome de atributos, organizar chaves e quebras de linhas, definir variáveis próximas ao seu lugar de uso.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O sexto capítulo traz considerações interessantes sobre objetos e estruturas de dados&lt;/strong&gt;. [...] Esconder a implementação é sobre abstrações. Objetos: “escondem” seus dados através de abstrações e expõem funções que operam aqueles dados escondidos; Estruturas de dados: expõem seus dados e não possuem funções significativas.&lt;/p&gt;

&lt;p&gt;Além disso, também é citada a Lei de Demeter, comumente utilizada em desenvolvimento orientado a objeto, abordando o acoplamento fraco. Alguns pontos são levados em conta, sendo eles:&lt;/p&gt;

&lt;p&gt;• Cada unidade deve possuir conhecimento limitado sobre as outras unidades;&lt;br&gt;
• Cada unidade se relaciona apenas com seus “amigos”, nunca com “estranhos”;&lt;br&gt;
• Apenas se relacionar com “amigos próximos”.&lt;/p&gt;

&lt;p&gt;Em suma, objetos expõem comportamentos e escondem dados, facilitando a criação de novos objetos, sem alterar os comportamentos existentes. Isso também dificulta adicionar novos comportamentos a objetos existentes. Sendo assim, estruturas de dados são o oposto, expondo dados e não possuindo comportamentos significantes; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No sétimo capítulo, são trazidas algumas considerações sobre o tratamento de erros&lt;/strong&gt; . A responsabilidade do desenvolvedor é garantir que, caso ocorra, não seja algo fatal e o código faça o que precisa ser feito. A seguir, alguns pontos que achei interessantes deste capítulo: Escrever primeiro os try/catches, dar um contexto para as exceções, definir classes de exceção de acordo com as necessidades de chamada, definir um fluxo “padrão”, não retornar nulo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No oitavo capítulo, falamos sobre os limites de um sistema e a importância de conhecê-los bem&lt;/strong&gt; . Um ponto interessante a ser considerado é o uso do código de terceiros, como bibliotecas e APIs, pois nosso acesso, enquanto usuários, é limitado e precisamos controlar essas limitações, para não interferirem no sistema que está sendo desenvolvido; inclusive, testes são uma boa maneira de aprender sobre o código de terceiros, seus limites e ainda assim, manter testes coerentes ao projeto.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No nono capítulo, o assunto tratado foi um dos mais interessantes: testes unitários&lt;/strong&gt; . Confesso que é um tema que não domino e pude aprender bastante com este capítulo. &lt;br&gt;
Gostaria de citar 3 leis do TDD (Test Driven Development) – fora a famigerada “primeiro escreva os testes, depois o código”.&lt;/p&gt;

&lt;p&gt;• Primeira Lei: não escreva código até que tenha escrito um teste que falhe;&lt;br&gt;
• Segunda Lei: não escrever mais do que um teste suficiente pra falhar e não compilar é considerado falha.&lt;br&gt;
• Não escrever mais código do que o necessário para passar o teste que está falhando;&lt;br&gt;
É importante manter os testes limpos e organizados, para garantir que o código se mantenha flexível.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No capítulo 10, o tema classes é abordado&lt;/strong&gt; e um dos pontos interessantes é a primeira regra sobre classes: elas devem ser pequenas. A segunda é que devem ser menores do que isso XD&lt;br&gt;
Classes devem seguir o princípio de responsabilidade única (SRP) e devem também ser coesas. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O capítulo 11 aborda alguns pontos sobre arquiteturas de sistema&lt;/strong&gt; , mas em suma, sistemas no geral precisam ser considerados/construídos limpos. Uma arquitetura bagunçada pode impactar na lógica e na agilidade, facilitando o aparecimento de bugs. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Capítulo 12 – Emergência&lt;/strong&gt;, de acordo com Kent, o design de um sistema é considerado simples caso siga as seguintes regras:&lt;br&gt;
• Passa por todos os testes;&lt;br&gt;
• Não há duplicidade;&lt;br&gt;
• Expressa a intenção do programador; e&lt;br&gt;
• Minimiza o número de classes e métodos.&lt;/p&gt;

&lt;p&gt;Também é dito que, havendo testes, somos impulsionados a manter nosso código limpo e podemos alcançar isso refatorando o código. Além disso, quanto mais claro o código for escrito pelo autor, menor será o tempo demandado para compreender o que ele deve fazer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O capítulo 13 começa citando alguns mitos sobre o uso de simultaneidade no desenvolvimento&lt;/strong&gt;, sendo eles: &lt;/p&gt;

&lt;p&gt;• Simultaneidade melhora performance;&lt;br&gt;
• O design não muda ao escrever código simultâneo;&lt;br&gt;
• Entender simultaneidade não é importante ao usar contêineres como Web ou EJB.&lt;br&gt;
Também é mencionado algo mais fidedigno em relação a construção de softwares simultâneos:&lt;br&gt;
• Simultaneidade incorre em alguma sobrecarga, tanto em performance quanto em código adicional;&lt;br&gt;
• O uso correto de simultaneidade é complexo, mesmo em casos simples;&lt;br&gt;
• Bugs de simultaneidade normalmente não se repetem, por isso comumente são ignorados;&lt;br&gt;
• Simultaneidade geralmente demanda uma mudança significativa na estratégia de design.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Capítulo 14 – Refinamento sucessivo&lt;/strong&gt;&lt;br&gt;
O capítulo 14 começa dizendo que, para escrever um bom código limpo, primeiro é necessário escrever o código “sujo” e “limpá-lo”. &lt;/p&gt;

&lt;p&gt;O autor sugere como alternativa interessante o TDD (Test-Driven Development), que torna impossível prosseguir com o desenvolvimento de código que causa danos ao sistema, já que a premissa é escrever primeiro um teste e passar por ele, antes de seguir com novos desenvolvimentos. &lt;/p&gt;

&lt;p&gt;Observação sobre os capítulos 15 ao 17: São capítulos mais voltados a análise de algumas ferramentas e refatoração de classes levando em consideração conceitos abordados no livro, além de uma visão geral dos capítulos anteriores. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fontes utilizadas:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://rockcontent.com/br/blog/metodologia-5s/" rel="noopener noreferrer"&gt;O que é 5S&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com.br/Robert-Martin-Clean-Collection-English-ebook/dp/B00666M59G" rel="noopener noreferrer"&gt;Link do ebook&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Obrigada por ler até aqui! &lt;br&gt;
Dúvidas, sugestões e comentários são sempre bem-vindos!&lt;/p&gt;

</description>
      <category>cleancode</category>
      <category>codigolimpo</category>
      <category>boaspraticas</category>
      <category>goodpractices</category>
    </item>
    <item>
      <title>Dicas para personalizar seu GitHub</title>
      <dc:creator>Bea Lourenço</dc:creator>
      <pubDate>Tue, 27 Jun 2023 22:35:52 +0000</pubDate>
      <link>https://dev.to/bealou/dicas-para-personalizar-seu-github-hee</link>
      <guid>https://dev.to/bealou/dicas-para-personalizar-seu-github-hee</guid>
      <description>&lt;p&gt;Oioi besties, tudo bem?&lt;/p&gt;

&lt;p&gt;Hoje trouxe algumas dicas para personalizar seu perfil no GitHub. É um post bem simples, mas com um conteúdo bem legal - e com um propósito pessoal: evoluir minha escrita, além de colaborar um pouquinho com a comunidade tech.&lt;/p&gt;

&lt;p&gt;Bem, em primeiro lugar, você vai precisar de um &lt;a href="//github.com"&gt;github&lt;/a&gt;. Agora, o próximo passo é criar um repositório público, com o seu nome de usuário e um arquivo readme.md (pois isso garante que ele será exibido na página inicial do seu perfil. Bacana, né?)&lt;/p&gt;

&lt;p&gt;O GitHub apresenta algumas dicas de como preencher o seu readme, dessa forma, você pode adicionar informações que considera relevante, como preferir.&lt;/p&gt;

&lt;p&gt;A seguir, vou deixar alguns links que utilizei pra personalizar meu perfil. São alguns ícones simples, mas que achei que deram um "tchan" no perfil =)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.alura.com.br/artigos/como-criar-um-readme-para-seu-perfil-github?gclid=CjwKCAjw2f-VBhAsEiwAO4lNeI2EKNA4wVY4UzHkOseadWCi_vfIwOo1n945XHBbXZglkf_v26QGjxoC3JAQAvD_BwE" rel="noopener noreferrer"&gt;Artigo da Alura, que usei como referência&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devicon.dev/" rel="noopener noreferrer"&gt;Ícones&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/anuraghazra/github-readme-stats" rel="noopener noreferrer"&gt;GitHub stats&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Por fim, uma imagem meramente ilustrativa:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjzyqf2dmvvavybo9vc9e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjzyqf2dmvvavybo9vc9e.png" alt="Captura de dela de um perfil no github" width="800" height="557"&gt;&lt;/a&gt;&lt;/p&gt;

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