{"id":118042,"date":"2023-01-04T08:02:00","date_gmt":"2023-01-04T11:02:00","guid":{"rendered":"https:\/\/fluency.io\/br\/blog\/?p=14532"},"modified":"2026-06-22T15:03:39","modified_gmt":"2026-06-22T18:03:39","slug":"solid-kiss-dry-yagni","status":"publish","type":"post","link":"https:\/\/fluency.io\/br\/blog\/solid-kiss-dry-yagni\/","title":{"rendered":"SOLID, KISS, DRY e YAGNI: princ\u00edpios de c\u00f3digo limpo"},"content":{"rendered":"\r\n<p>Ser um bom programador vai muito al\u00e9m de programar. \u00c9 algo que exige que voc\u00ea seja capaz, sobretudo, de resolver problemas complexos de forma eficiente \u2014 muitas vezes utilizando <a href=\"https:\/\/fluency.io\/br\/blog\/algoritmos-de-classificacao\/?utm_source=blog\" target=\"_blank\" rel=\"noreferrer noopener\">alg<\/a>o<a href=\"https:\/\/fluency.io\/br\/blog\/algoritmos-de-classificacao\/?utm_source=blog\" target=\"_blank\" rel=\"noreferrer noopener\">ritmos<\/a>, <strong>testes de unidade<\/strong> e <strong>an\u00e1lise de complexidade de espa\u00e7o-tempo<\/strong>.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>No entanto, h\u00e1 tamb\u00e9m um <strong>conjunto de princ\u00edpios<\/strong>, testados e comprovados, desenvolvidos para refinar a arte e a ci\u00eancia do desenvolvimento de aplicativos de software. Tais princ\u00edpios, provenientes da <strong>engenharia de software<\/strong>, consistem em abordagens que norteiam a escrita de um<strong> c\u00f3digo limpo<\/strong>, f\u00e1cil de depurar e de ser entendido.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>Populares entre desenvolvedores e engenheiros de software,<strong> SOLID<\/strong>, <strong>DRY KISS<\/strong> e <strong>YAGNI<\/strong> s\u00e3o princ\u00edpios b\u00e1sicos que regem a<strong> engenharia de software<\/strong>. De maneira geral, eles buscam ajudar a projetar <strong>estruturas de desenvolvimento<\/strong>, assim como nortear opera\u00e7\u00f5es p\u00f3s-lan\u00e7amento e suporte de manuten\u00e7\u00e3o.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>Neste artigo, explicaremos cada um desses m\u00e9todos, assim como por que eles s\u00e3o considerados elementos cruciais para um<strong> processo de desenvolvimento<\/strong> confi\u00e1vel e \u00e1gil.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>O que \u00e9 Solid<\/strong><\/h2>\r\n\r\n\r\n\r\n<p><strong>SOLID<\/strong> \u00e9 um acr\u00f4nimo mnem\u00f4nico para <strong>cinco princ\u00edpios <\/strong>destinados a tornar os projetos de software mais compreens\u00edveis, flex\u00edveis e de f\u00e1cil manuten\u00e7\u00e3o. Esse <strong>princ\u00edpio da programa\u00e7\u00e3o<\/strong> foi criado por Robert C. Martin (ou simplesmente \u201cUncle Bob\u201d) e representa cinco conven\u00e7\u00f5es diferentes de codifica\u00e7\u00e3o.<\/p>\r\n\r\n\r\n\r\n<p>Ao seguir esses princ\u00edpios, poder\u00e1 melhorar a confiabilidade do seu c\u00f3digo trabalhando em sua estrutura e <strong>consist\u00eancia l\u00f3gica<\/strong>. Em outras palavras, o <strong>SOLID<\/strong> trata\u2013se na verdade de um subconjunto de princ\u00edpios que inclui:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>S<\/strong>ingle Responsibility principle (princ\u00edpio da responsabilidade \u00fanica);<\/li>\r\n\r\n\r\n\r\n<li><strong>O<\/strong>pen-Closed principle (princ\u00edpio do aberto\/fechado);<\/li>\r\n\r\n\r\n\r\n<li><strong>L<\/strong>iskov Substitution principle (princ\u00edpio da substitui\u00e7\u00e3o de Liskov)<\/li>\r\n\r\n\r\n\r\n<li><strong>I<\/strong>nterface Segregation principle (princ\u00edpio da segrega\u00e7\u00e3o de interface);<\/li>\r\n\r\n\r\n\r\n<li><strong>D<\/strong>ependency Inversion principle (princ\u00edpio de invers\u00e3o de depend\u00eancia).<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\"><strong>Single-responsibility principle (princ\u00edpio da responsabilidade \u00fanica)<\/strong><\/h3>\r\n\r\n\r\n\r\n\r\n\r\n<p>Considerado um princ\u00edpio-chave da engenharia de software, o<strong> Princ\u00edpio da Responsabilidade \u00danica<\/strong> determina como o c\u00f3digo deve ser modularizado na programa\u00e7\u00e3o orientada a objetos.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>Dessa forma, cada m\u00f3dulo deve ser projetado para cumprir somente a sua responsabilidade sobre uma \u00fanica parte da funcionalidade fornecida pelo software;<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\"><strong>Open-closed principle (princ\u00edpio do aberto\/fechado)<\/strong><\/h3>\r\n\r\n\r\n\r\n\r\n\r\n<p>O <strong>Princ\u00edpio Aberto-Fechado (OCP)<\/strong> afirma que as entidades de software (classes, m\u00f3dulos, m\u00e9todos, etc.) devem ser abertas para extens\u00e3o, mas fechadas para modifica\u00e7\u00e3o.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>Na pr\u00e1tica, isso significa criar <strong>entidades de software<\/strong> cujo comportamento possa ser alterado sem a necessidade de editar e recompilar o pr\u00f3prio c\u00f3digo. Sendo assim, qualquer parte do software deve estar dispon\u00edvel e ser facilmente estendida para outros recursos, mas n\u00e3o deve ser modificada.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\"><strong>Liskov substitution principle (princ\u00edpio da substitui\u00e7\u00e3o de Liskov)<\/strong><\/h3>\r\n\r\n\r\n\r\n\r\n\r\n<p>Esse princ\u00edpio define que objetos de uma superclasse devem ser substitu\u00edveis por objetos de suas subclasses sem quebrar a aplica\u00e7\u00e3o. Isso requer que os objetos de suas subclasses se comportem da mesma maneira que os objetos de sua superclasse. Em outras palavras, os objetos dentro de um programa podem ser substitu\u00eddos por inst\u00e2ncias de seus tipos de subcategoria sem alterar a precis\u00e3o daquele programa espec\u00edfico.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\"><strong>Interface segregation principle (princ\u00edpio da segrega\u00e7\u00e3o de interface)<\/strong><\/h3>\r\n\r\n\r\n\r\n\r\n\r\n<p>Segundo o <strong>Princ\u00edpio da Segrega\u00e7\u00e3o de Interface<\/strong>, \u00e9 melhor evitar adicionar novas funcionalidades ou m\u00e9todos a uma interface existente. Em vez disso, \u00e9 recomend\u00e1vel incorporar uma nova interface e permitir que as classes implementem interfaces diferentes com base na necessidade.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\"><strong>Dependency inversion principle (princ\u00edpio de invers\u00e3o de depend\u00eancia)<\/strong><\/h3>\r\n\r\n\r\n\r\n\r\n\r\n<p>O <strong>Princ\u00edpio de Invers\u00e3o de Depend\u00eancia (DIP) <\/strong>afirma que m\u00f3dulos de alto n\u00edvel n\u00e3o devem depender dos m\u00f3dulos de baixo n\u00edvel; ambos devem depender de abstra\u00e7\u00f5es. Estas, por sua vez, n\u00e3o devem depender de detalhes e vice-versa.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>Ao <strong>programador ou desenvolver o software<\/strong>, \u00e9 comum implement\u00e1-lo de forma que cada m\u00f3dulo ou m\u00e9todo se refira especificamente aos seus colaboradores, que fazem o mesmo.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>Entretanto, esse <strong>tipo de programa\u00e7\u00e3o<\/strong> normalmente n\u00e3o possui camadas suficientes de abstra\u00e7\u00e3o, o que resulta em um sistema fortemente acoplado, j\u00e1 que cada m\u00f3dulo faz refer\u00eancia direta aos m\u00f3dulos de n\u00edvel inferior.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>Nesse sentido, \u00e9 preciso utilizar um <strong>padr\u00e3o de design <\/strong>conhecido como <strong>\u201cpadr\u00e3o de invers\u00e3o de depend\u00eancia\u201d<\/strong>, resolvido pelo uso de inje\u00e7\u00e3o de depend\u00eancia.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>O que \u00e9 DRY\u00a0<\/strong><\/h2>\r\n\r\n\r\n\r\n<p>Formulado por Andy Hunt e Dave Thomas no livro The Pragmatic Programmer, <strong>Don\u2019t Repeat Yourself (DRY) <\/strong>\u00e9 um dos <strong>princ\u00edpios de programa\u00e7\u00e3o<\/strong> mais fundamentais entre todos.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>Ele prega que todo programador deve reduzir ao m\u00e1ximo a<strong> repeti\u00e7\u00e3o de informa\u00e7\u00f5es<\/strong> ou m\u00e9todos, e com isso evitar redund\u00e2ncias.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\"><strong>Duplica\u00e7\u00e3o \u00e9 desperd\u00edcio<\/strong><\/h3>\r\n\r\n\r\n\r\n<p>Cada <strong>linha de c\u00f3digo<\/strong> que entra em um aplicativo, e \u00e9 mantida, se torna uma fonte potencial de<strong> bugs futuros<\/strong>. Isso porque, dentre outros fatores, a duplica\u00e7\u00e3o \u201cincha\u201d a base de c\u00f3digo desnecessariamente, resultando em mais oportunidades para bugs, al\u00e9m de adicionar <strong>complexidade acidental <\/strong>ao sistema.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>O <strong>programador<\/strong> que aprende a reconhecer a duplica\u00e7\u00e3o e entende como elimin\u00e1-la \u00e9 capaz de produzir um c\u00f3digo muito mais limpo. Sendo assim, \u00e9 recomend\u00e1vel, por exemplo, <strong>dividir o c\u00f3digo<\/strong> em segmentos menores para conseguir gerenci\u00e1-lo e utilizar um \u00fanico segmento em qualquer ponto, chamando-o sempre que necess\u00e1rio.<\/p>\r\n\r\n\r\n\r\n<p>O <strong>princ\u00edpio DRY <\/strong>garante que qualquer modifica\u00e7\u00e3o de um \u00fanico elemento de um sistema n\u00e3o requer uma mudan\u00e7a em outros elementos logicamente n\u00e3o relacionados. Al\u00e9m disso, elementos logicamente relacionados mudam de maneira previs\u00edvel e uniforme, o que os mant\u00e9m sincronizados.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>O que \u00e9 KISS\u00a0<\/strong><\/h2>\r\n\r\n\r\n\r\n<p>O princ\u00edpio <strong>KISS (Keep It Simple, Stupid)<\/strong> lembra que todo o <strong>design e implanta\u00e7\u00e3o de software<\/strong> deve prezar pela simplicidade \u2014\u00a0 seja no desenvolvimento de um site, aplicativo ou simplesmente ao projetar um <strong>bloco de c\u00f3digo<\/strong>.<\/p>\r\n\r\n\r\n\r\n<p>O <strong>KISS<\/strong> tamb\u00e9m afirma que n\u00e3o h\u00e1 valor em uma solu\u00e7\u00e3o ser \u201cinteligente\u201d, mas sim em ela ser facilmente compreens\u00edvel. Isso porque, muitas vezes, os desenvolvedores se sentem tentados a escrever solu\u00e7\u00f5es \u201cinteligentes\u201d que utilizam recursos complexos. Nesse caso, uma solu\u00e7\u00e3o \u00e9 melhor quando se usa menos heran\u00e7a, menos polimorfismo, menos classes, etc.<\/p>\r\n\r\n\r\n\r\n<p>Mas isso n\u00e3o quer dizer que esses recursos n\u00e3o podem ser usados. Em vez disso, eles s\u00f3 devem ser empregados quando necess\u00e1rios ou quando houver alguma vantagem substancial. Como resultado, \u00e9 poss\u00edvel obter um c\u00f3digo-fonte f\u00e1cil de depurar, cuja manuten\u00e7\u00e3o futura por outro desenvolvedor ser\u00e1 menos trabalhosa.<\/p>\r\n\r\n\r\n\r\n<p>Esse princ\u00edpio foi cunhado pelo engenheiro americano Kelly Johnson ao se referir \u00e0 exig\u00eancia de que uma aeronave militar deve ser repar\u00e1vel com um conjunto limitado de ferramentas em condi\u00e7\u00f5es de combate.<\/p>\r\n\r\n\r\n\r\n<p>No contexto de desenvolvimento de produtos digitais, o <strong>princ\u00edpio KISS<\/strong> tem um grande impacto no sucesso geral do produto. Algumas das vantagens da sua aplica\u00e7\u00e3o incluem:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>Otimiza\u00e7\u00e3o de tempo: <\/strong>os usu\u00e1rios n\u00e3o querem perder tempo. Eles esperam uma experi\u00eancia sem atrito com fluxos de usu\u00e1rio diretos e intuitivos, nomenclatura sem jarg\u00f5es e resultados r\u00e1pidos;<\/li>\r\n\r\n\r\n\r\n<li><strong>Simplifica\u00e7\u00e3o:<\/strong> uma estrutura de software mais simples torna os testes, incluindo testes automatizados, mais f\u00e1ceis e eficazes;<\/li>\r\n\r\n\r\n\r\n<li><strong>Baixa complexidade:<\/strong> a complexidade reduzida da base de c\u00f3digo facilita e agiliza a manuten\u00e7\u00e3o e a integra\u00e7\u00e3o de novos membros da equipe no meio do projeto.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>O que \u00e9 Yagni\u00a0<\/strong><\/h2>\r\n\r\n\r\n\r\n<p>O <strong>YAGNI (You Aren&#8217;t Gonna Need It) <\/strong>\u00e9 outro princ\u00edpio muito adotado do <strong>desenvolvimento software <\/strong>que afirma que os recursos s\u00f3 devem ser adicionados quando necess\u00e1rios. Como parte da filosofia de <strong>programa\u00e7\u00e3o extrema (XP)<\/strong>, o YAGNI elimina o excesso e a inefici\u00eancia no desenvolvimento para facilitar o aumento desejado da frequ\u00eancia de lan\u00e7amentos.<\/p>\r\n\r\n\r\n\r\n<p>Trata-se de um dos princ\u00edpios mais conhecidos do XP, surgido do livro <strong>Extreme Programming Installed<\/strong> , de autoria de Ronald Jeffries, Ann Anderson e Chet Henderson.<\/p>\r\n\r\n\r\n\r\n<p>Esse princ\u00edpio ajuda tanto desenvolvedores quanto programadores a evitar esfor\u00e7os desperdi\u00e7ados em recursos que s\u00e3o considerados necess\u00e1rios em algum momento.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>A ideia \u00e9 que essa suposi\u00e7\u00e3o muitas vezes acaba sendo incorreta. Mesmo que um recurso acabe sendo desejado, ainda pode acontecer que a implementa\u00e7\u00e3o n\u00e3o seja necess\u00e1ria.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>O argumento \u00e9 que os desenvolvedores n\u00e3o percam tempo criando elementos estranhos que podem n\u00e3o ser necess\u00e1rios e podem atrapalhar ou retardar o <strong>processo de desenvolvimento<\/strong>.<\/p>\r\n\r\n\r\n\r\n<p>Como o YAGNI ajuda a evitar gastar tempo com recursos que n\u00e3o podem ser usados, os <strong>recursos principais<\/strong> de um programa s\u00e3o melhor desenvolvidos e menos tempo total \u00e9 gasto em cada lan\u00e7amento.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>Muito parecido com o princ\u00edpio Worse is Better, o YAGNI \u00e9 contra o desenvolvimento de recursos extras e ajuda a evitar o aumento de recursos.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>Entre v\u00e1rias coisas, esse princ\u00edpio ajuda a otimizar todo o processo de desenvolvimento de software, incluindo a diminui\u00e7\u00e3o de custos. Isso ocorre devido a:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>Melhora no desempenho do desenvolvedor\/programador: <\/strong>a equipe se concentra em entregar os requisitos atuais de forma eficaz. Eles n\u00e3o gastam tempo e esfor\u00e7o em suposi\u00e7\u00f5es;<\/li>\r\n\r\n\r\n\r\n<li><strong>Base de c\u00f3digo mais flex\u00edvel:<\/strong> voc\u00ea n\u00e3o precisa encontrar maneiras de usar solu\u00e7\u00f5es abaixo do ideal que voc\u00ea j\u00e1 desenvolveu antes de ter a imagem completa.<\/li>\r\n<\/ul>\r\n\r\n\r\n","protected":false},"excerpt":{"rendered":"<p>Ser um bom programador vai muito al\u00e9m de programar. \u00c9 algo que exige que voc\u00ea seja capaz, sobretudo, de resolver problemas complexos de forma eficiente \u2014 muitas vezes utilizando algoritmos, testes de unidade e an\u00e1lise de complexidade de espa\u00e7o-tempo.\u00a0 No entanto, h\u00e1 tamb\u00e9m um conjunto de princ\u00edpios, testados e comprovados, desenvolvidos para refinar a arte [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":[186],"meta":{"inline_featured_image":false,"footnotes":""},"categories":[229],"tags":[],"trilha":[],"class_list":["post-118042","post","type-post","status-publish","format-standard","hentry","category-skills","format-artigos"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SOLID, KISS, DRY e YAGNI: princ\u00edpios de c\u00f3digo limpo!<\/title>\n<meta name=\"description\" content=\"Entenda SOLID, KISS, DRY e YAGNI e veja como esses princ\u00edpios ajudam a escrever c\u00f3digos mais simples, organizados e f\u00e1ceis de manter.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fluency.io\/br\/blog\/solid-kiss-dry-yagni\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SOLID, KISS, DRY e YAGNI: princ\u00edpios de c\u00f3digo limpo!\" \/>\n<meta property=\"og:description\" content=\"Entenda SOLID, KISS, DRY e YAGNI e veja como esses princ\u00edpios ajudam a escrever c\u00f3digos mais simples, organizados e f\u00e1ceis de manter.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fluency.io\/br\/blog\/solid-kiss-dry-yagni\/\" \/>\n<meta property=\"og:site_name\" content=\"Fluency.io Brasil\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-04T11:02:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-22T18:03:39+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"kaue\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/fluency.io\\\/br\\\/blog\\\/solid-kiss-dry-yagni\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fluency.io\\\/br\\\/blog\\\/solid-kiss-dry-yagni\\\/\"},\"author\":{\"name\":\"kaue\",\"@id\":\"https:\\\/\\\/fluency.io\\\/br\\\/#\\\/schema\\\/person\\\/7b3b2b50ba17b7f2ad0cce0a40bfa00a\"},\"headline\":\"SOLID, KISS, DRY e YAGNI: princ\u00edpios de c\u00f3digo limpo\",\"datePublished\":\"2023-01-04T11:02:00+00:00\",\"dateModified\":\"2026-06-22T18:03:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/fluency.io\\\/br\\\/blog\\\/solid-kiss-dry-yagni\\\/\"},\"wordCount\":1578,\"commentCount\":0,\"articleSection\":[\"Skills\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/fluency.io\\\/br\\\/blog\\\/solid-kiss-dry-yagni\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/fluency.io\\\/br\\\/blog\\\/solid-kiss-dry-yagni\\\/\",\"url\":\"https:\\\/\\\/fluency.io\\\/br\\\/blog\\\/solid-kiss-dry-yagni\\\/\",\"name\":\"SOLID, KISS, DRY e YAGNI: princ\u00edpios de c\u00f3digo limpo!\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fluency.io\\\/br\\\/#website\"},\"datePublished\":\"2023-01-04T11:02:00+00:00\",\"dateModified\":\"2026-06-22T18:03:39+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/fluency.io\\\/br\\\/#\\\/schema\\\/person\\\/7b3b2b50ba17b7f2ad0cce0a40bfa00a\"},\"description\":\"Entenda SOLID, KISS, DRY e YAGNI e veja como esses princ\u00edpios ajudam a escrever c\u00f3digos mais simples, organizados e f\u00e1ceis de manter.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/fluency.io\\\/br\\\/blog\\\/solid-kiss-dry-yagni\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/fluency.io\\\/br\\\/blog\\\/solid-kiss-dry-yagni\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/fluency.io\\\/br\\\/blog\\\/solid-kiss-dry-yagni\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/fluency.io\\\/br\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SOLID, KISS, DRY e YAGNI: princ\u00edpios de c\u00f3digo limpo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/fluency.io\\\/br\\\/#website\",\"url\":\"https:\\\/\\\/fluency.io\\\/br\\\/\",\"name\":\"Fluency Academy\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/fluency.io\\\/br\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/fluency.io\\\/br\\\/#\\\/schema\\\/person\\\/7b3b2b50ba17b7f2ad0cce0a40bfa00a\",\"name\":\"kaue\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g\",\"caption\":\"kaue\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SOLID, KISS, DRY e YAGNI: princ\u00edpios de c\u00f3digo limpo!","description":"Entenda SOLID, KISS, DRY e YAGNI e veja como esses princ\u00edpios ajudam a escrever c\u00f3digos mais simples, organizados e f\u00e1ceis de manter.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fluency.io\/br\/blog\/solid-kiss-dry-yagni\/","og_locale":"pt_BR","og_type":"article","og_title":"SOLID, KISS, DRY e YAGNI: princ\u00edpios de c\u00f3digo limpo!","og_description":"Entenda SOLID, KISS, DRY e YAGNI e veja como esses princ\u00edpios ajudam a escrever c\u00f3digos mais simples, organizados e f\u00e1ceis de manter.","og_url":"https:\/\/fluency.io\/br\/blog\/solid-kiss-dry-yagni\/","og_site_name":"Fluency.io Brasil","article_published_time":"2023-01-04T11:02:00+00:00","article_modified_time":"2026-06-22T18:03:39+00:00","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"kaue","Est. tempo de leitura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fluency.io\/br\/blog\/solid-kiss-dry-yagni\/#article","isPartOf":{"@id":"https:\/\/fluency.io\/br\/blog\/solid-kiss-dry-yagni\/"},"author":{"name":"kaue","@id":"https:\/\/fluency.io\/br\/#\/schema\/person\/7b3b2b50ba17b7f2ad0cce0a40bfa00a"},"headline":"SOLID, KISS, DRY e YAGNI: princ\u00edpios de c\u00f3digo limpo","datePublished":"2023-01-04T11:02:00+00:00","dateModified":"2026-06-22T18:03:39+00:00","mainEntityOfPage":{"@id":"https:\/\/fluency.io\/br\/blog\/solid-kiss-dry-yagni\/"},"wordCount":1578,"commentCount":0,"articleSection":["Skills"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fluency.io\/br\/blog\/solid-kiss-dry-yagni\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fluency.io\/br\/blog\/solid-kiss-dry-yagni\/","url":"https:\/\/fluency.io\/br\/blog\/solid-kiss-dry-yagni\/","name":"SOLID, KISS, DRY e YAGNI: princ\u00edpios de c\u00f3digo limpo!","isPartOf":{"@id":"https:\/\/fluency.io\/br\/#website"},"datePublished":"2023-01-04T11:02:00+00:00","dateModified":"2026-06-22T18:03:39+00:00","author":{"@id":"https:\/\/fluency.io\/br\/#\/schema\/person\/7b3b2b50ba17b7f2ad0cce0a40bfa00a"},"description":"Entenda SOLID, KISS, DRY e YAGNI e veja como esses princ\u00edpios ajudam a escrever c\u00f3digos mais simples, organizados e f\u00e1ceis de manter.","breadcrumb":{"@id":"https:\/\/fluency.io\/br\/blog\/solid-kiss-dry-yagni\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fluency.io\/br\/blog\/solid-kiss-dry-yagni\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fluency.io\/br\/blog\/solid-kiss-dry-yagni\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fluency.io\/br\/"},{"@type":"ListItem","position":2,"name":"SOLID, KISS, DRY e YAGNI: princ\u00edpios de c\u00f3digo limpo"}]},{"@type":"WebSite","@id":"https:\/\/fluency.io\/br\/#website","url":"https:\/\/fluency.io\/br\/","name":"Fluency Academy","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fluency.io\/br\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/fluency.io\/br\/#\/schema\/person\/7b3b2b50ba17b7f2ad0cce0a40bfa00a","name":"kaue","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g","caption":"kaue"}}]}},"_links":{"self":[{"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/posts\/118042","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/comments?post=118042"}],"version-history":[{"count":2,"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/posts\/118042\/revisions"}],"predecessor-version":[{"id":203977,"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/posts\/118042\/revisions\/203977"}],"wp:attachment":[{"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/media?parent=118042"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/categories?post=118042"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/tags?post=118042"},{"taxonomy":"format","embeddable":true,"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/format?post=118042"},{"taxonomy":"trilha","embeddable":true,"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/trilha?post=118042"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}