{"id":8818,"date":"2024-09-03T20:13:27","date_gmt":"2024-09-03T23:13:27","guid":{"rendered":"https:\/\/geekblogti.wpengine.com\/?p=8818"},"modified":"2024-10-29T10:58:07","modified_gmt":"2024-10-29T13:58:07","slug":"praticar-codigo-limpo","status":"publish","type":"post","link":"https:\/\/www.geekhunter.com/pt/blog\/praticar-codigo-limpo\/","title":{"rendered":"Come\u00e7ando a praticar C\u00f3digo Limpo"},"content":{"rendered":"\r\n<p class=\"wp-block-paragraph\">Voc\u00ea j\u00e1 deve ter ouvido falar que &#8220;um <strong>bom c\u00f3digo<\/strong> dispensa coment\u00e1rios&#8221; ou ter achado que<strong> praticar c\u00f3digo limpo<\/strong> \u00e9 muito dif\u00edcil, certo?<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Nesse artigo vou te contar toda a verdade sobre a parte pr\u00e1tica do c\u00f3digo limpo!<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Se voc\u00ea caiu aqui de paraquedas, seja muito bem-vindo!<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Antes, d\u00e1 uma olhada no que a gente j\u00e1 conversou sobre <a href=\"https:\/\/geekblogti.wpengine.com\/codigo-limpo\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"C\u00f3digo Limpo (abre numa nova aba)\">C\u00f3digo Limpo<\/a>.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Come\u00e7ando a praticar C\u00f3digo Limpo<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">E a\u00ed no meio disso tudo algu\u00e9m deve ter te falado que se voc\u00ea <strong>nomear bem<\/strong> as coisas, seja uma vari\u00e1vel, uma fun\u00e7\u00e3o ou uma classe, por exemplo, n\u00e3o vai precisar escrever coment\u00e1rios sobre aquilo.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Por fim, talvez voc\u00ea tenha impetuosamente tentado absorver toda essa hist\u00f3ria de C\u00f3digo Limpo para si.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">E claro, cometido o mesmo erro que eu quando ouvi falar do assunto pela primeira vez:<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Achar que C\u00f3digo Limpo \u00e9 dar um nome enorme e descritivo para as coisas no seu c\u00f3digo sem medo de ser feliz.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Sinto lhe informar, mas nem \u00e9.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Nomes s\u00e3o importantes<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Para come\u00e7ar eu quero deixar bem claro que sim, <strong>nomes s\u00e3o importantes<\/strong>!<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Eu tive um professor que me ensinou bem o quanto os nomes podem ser importantes com duas atitudes bem interessantes:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Ele nunca aceitava quando um estudante se apresentava somente pelo primeiro nome. Era sempre exigido nome e sobrenome;<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Certa vez um estudante argumentou que uma certa configura\u00e7\u00e3o era &#8220;s\u00f3 um nome&#8221; e ouviu tanto o professor discursar sobre como ele n\u00e3o iria querer ser chamado de outra coisa al\u00e9m do seu nome que, com certeza, nunca mais se esqueceu disso.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Pois \u00e9, eu estava l\u00e1, eu era o estudante. xD<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O problema com nomes \u00e9 que n\u00f3s nunca aprendemos nenhuma<strong> t\u00e9cnica de nomea\u00e7\u00e3o<\/strong>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Normalmente \u00e9 bem subjetivo e, apesar disso, n\u00f3s humanos somos muito bons nisso.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A gente vive nomeando as coisas. S\u00f3 que nem sempre um nome vai conseguir carregar toda a informa\u00e7\u00e3o que voc\u00ea queria passar sobre algo.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Se eu nomeio meu cachorro de Monstro, eu posso te confundir se estou fazendo uma refer\u00eancia a Harry Potter ou ao Kleber Bambam.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">S\u00f3 que na verdade eu s\u00f3 dei esse nome a ele porque o mesmo apareceu na minha casa a noite enquanto eu dormia me dando um baita susto.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">E vamos combinar: seja qual for o motivo, este \u00e9 um bom nome.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/media.giphy.com\/media\/tnYri4n2Frnig\/giphy.gif\" alt=\"habilidades pr\u00e1ticas do c\u00f3digo limpo \" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Ent\u00e3o como j\u00e1 conversamos no<a href=\"https:\/\/geekblogti.wpengine.com\/codigo-limpo\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" artigo anterior (abre numa nova aba)\"> artigo anterior<\/a>, sempre que nos deparamos com uma subjetividade necess\u00e1ria para praticar c\u00f3digo limpo e no nosso trabalho, procuramos <strong>criar padr\u00f5es<\/strong>.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">Padr\u00f5es<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">J\u00e1 que n\u00e3o podemos carregar tanta informa\u00e7\u00e3o em nomes, vamos padronizar o que minimamente esperamos de um nome.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">\u00c9 preciso ter boas pr\u00e1ticas em programa\u00e7\u00e3o, seja em <a href=\"https:\/\/geekblogti.wpengine.com\/boas-praticas-de-programacao-em-php\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"PHP (abre numa nova aba)\">PHP<\/a>, <a href=\"https:\/\/geekblogti.wpengine.com\/o-java-ainda-faz-historia\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Java (abre numa nova aba)\">Java<\/a>, <a href=\"https:\/\/geekblogti.wpengine.com\/introducao-ao-javascript-numeros-e-objetos\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"JavaScript  (abre numa nova aba)\">JavaScript <\/a>mas como ter boas pr\u00e1ticas ao escrever um c\u00f3digo?<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Neste artigo vamos nos concentrar em boas pr\u00e1ticas bases para nomea\u00e7\u00e3o principalmente de vari\u00e1veis e fun\u00e7\u00f5es de apoio, ou seja, fun\u00e7\u00f5es que <strong>n\u00e3o<\/strong> s\u00e3o m\u00e9todos.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">E quem sabe a gente n\u00e3o fale especificamente de cada uma delas em postagens futuras incluindo tamb\u00e9m classes, interfaces, m\u00e9todos e tudo mais!<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Nomes t\u00eam significado<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Primeira dica infal\u00edvel: <strong>nunca, jamais, em hip\u00f3tese alguma reaproveite exatamente o mesmo nome em outro contexto<\/strong>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Na d\u00favida se ainda est\u00e1 no mesmo contexto para reutilizar uma vari\u00e1vel, <strong>s\u00f3 n\u00e3o reutilize<\/strong>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Vai por mim, voc\u00ea n\u00e3o vai querer ter dois cachorros chamados Monstro, ali\u00e1s eu j\u00e1 t\u00f4 come\u00e7ando a questionar se esse nome \u00e9 legal mesmo.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Dar o mesmo nome para duas coisas diferentes requer certa maestria e cuidado, ainda mais quando se trata em praticar c\u00f3digo limpo.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Obviamente voc\u00ea pode chamar seus dois cachorros de\u2026 bem\u2026 &#8220;Cachorro&#8221;.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Mas usar esse nome para se referenciar especificamente a um deles faz com que voc\u00ea perca a clareza na sua fala.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Por\u00e9m um bom exemplo onde algo similar a isso funciona \u00e9 no filme <em>Bird Box<\/em> onde a Sandra Bullock chama as crian\u00e7as que a acompanham de <em>boy<\/em> e <em>girl<\/em>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Nesse caso o contexto inserido pelo filme deixa claro a quem ela est\u00e1 se referenciando, o <em>significado<\/em> de menino e menina fica claro.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">O significado na hora de praticar C\u00f3digo Limpo<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Segundo o dicion\u00e1rio do Google um &#8220;<strong>significado<\/strong>&#8221; \u00e9 uma rela\u00e7\u00e3o de <strong>reconhecimento<\/strong>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Algo com significado \u00e9 reconhec\u00edvel. Ent\u00e3o um nome deve dar significado ao que nomeia.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">No livro <em><a href=\"https:\/\/amzn.to\/34uglo7\" target=\"_blank\" rel=\"noreferrer noopener\">Clean Code. A Handbook of Agile Software Craftsmanship<\/a><\/em> existe um cap\u00edtulo inteiro falando sobre a<strong> import\u00e2ncia, boas pr\u00e1ticas e cuidados com os nomes<\/strong> que damos \u00e0s coisas em nosso c\u00f3digo.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Como sempre, tudo \u00e9 bem subjetivo e o Robert tenta oferecer bastante exemplos de como voc\u00ea pode alcan\u00e7ar essa <a href=\"https:\/\/geekblogti.wpengine.com\/qualidade-de-software\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"qualidade de software (abre numa nova aba)\">qualidade de software<\/a>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Eu vou falar sobre as dicas dele com uma pitadinha de outras dicas de minha autoria agora.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Classes gramaticais<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Achou que bastava saber matem\u00e1tica para programar bem? Achou errado!<\/p>\r\n\r\n\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O pr\u00f3prio tio Robert define que vari\u00e1veis devem ser substantivos e fun\u00e7\u00f5es verbos.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Pois \u00e9, isso s\u00e3o classes gramaticais e para dar bons nomes vamos precisar ter uma no\u00e7\u00e3o n\u00e3o s\u00f3 delas como das outras 8 que existem.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Para te ajudar a lembrar desse conte\u00fado, eu separei um artigo da Daniela Diana sobre <a href=\"https:\/\/www.todamateria.com.br\/classes-de-palavras\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"classe de palavras  (abre numa nova aba)\">classe de palavras <\/a>que \u00e9 muito bom e sucinto.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Boas pr\u00e1ticas<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Ent\u00e3o temos as seguintes boas pr\u00e1ticas:<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Nunca utilize pronomes, artigos (<em>al\u00f4 WordPress<\/em>) e interjei\u00e7\u00f5es.<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Ex.: <code>$theUser; setAPost($aPost); $myArticle; $yay<\/code>;<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Evite ao m\u00e1ximo utilizar numerais, preposi\u00e7\u00f5es e conjun\u00e7\u00f5es<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Essas classes s\u00f3 t\u00eam sentido em frases maiores o que vai te obrigar a dar um nome bem grande para que tenham significado.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Al\u00e9m disso, normalmente isso vai depender tanto do contexto que est\u00e1 inserida que talvez elas n\u00e3o sejam necess\u00e1rias, pois sua pr\u00f3pria localiza\u00e7\u00e3o j\u00e1 dir\u00e1 o que voc\u00ea quis dizer com o nome.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Observe o exemplo:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\"><code>$userWhoWroteThisPost;\r\ngetTwoUsers($condition);\r\n$allArticlesExceptWithMoreThanThreeYears;<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Utilize substantivos e adjetivos para as suas vari\u00e1veis<\/strong> como:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\"><code>$user;\r\n$adminUsers;\r\n$favoritePosts;<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Utilize verbos e adv\u00e9rbios para fun\u00e7\u00f5es como<\/strong>:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\"><code>getMostRecentArticle();\r\nfindUserById($id);\r\nbind($eventTrigger);<\/code><\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Siglas<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A gente de computa\u00e7\u00e3o adora falar orientado a siglas, n\u00e9?<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">\u00c9 SaaS, IaaS, DRY, MVC, DDD, JSON, CSS, JS, BI, IOT, POC, TDD, CMS, DBMS, SOLID, OOP, CRM, DNS, ERP, FTP e ainda tem mais&#8230;<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">HTTP, SSL, TCP\/IP, SSH, DB, LAN, WAN, HTML, XML, SQL, GNU, PHP, UI, UX, URL, VPN, VM, ASCII, BIOS, DDoS, SSD, ETL, MAC, etc.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Ufa!<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Inclusive, cr\u00edtica forte a n\u00f3s mesmos:<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Essas siglas muitas das vezes v\u00eam para complicar e rebuscar uma fala, quando na verdade significam coisas extremamente simples.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Eu acho muito legal e democr\u00e1tico evitar usar siglas a todo o momento que falamos de tecnologia principalmente sem introduzi-las anteriormente a todos.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Inclusive, estamos t\u00e3o acostumados a isso que fazemos no momento de darmos nomes a coisas nos nossos c\u00f3digos.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Isso \u00e9 uma pr\u00e1tica antiga.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Da \u00e9poca em que ao se escrever um algoritmo era necess\u00e1rio ficar atento ao tamanho final do arquivo a fim de que o mesmo coubesse dentro de armazenamento m\u00f3vel como os disquetes (!!) e cart\u00f5es perfurados (!!!).<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Hoje em dia essa \u00e9 a menor das nossas preocupa\u00e7\u00f5es, ent\u00e3o <strong>n\u00e3o use siglas e abrevia\u00e7\u00f5es<\/strong> na hora de praticar c\u00f3digo limpo!<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Evite nomes muito parecidos<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Pense em distin\u00e7\u00f5es claras!<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Tente preencher uma chave para cara item do array no c\u00f3digo abaixo:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\"><code>$response = [\r\n  getMostRecentPostComments(),\r\n  getMostRecentCommentedPosts(),\r\n  getMostRecentPostComment(),\r\n  getMostRecentCommentedPost(),\r\n  getMostRecentPostsComments()\r\n];<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O nome de cada fun\u00e7\u00e3o isoladamente n\u00e3o est\u00e1 ruim.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Mas veja como fica dif\u00edcil de identificar e \u00e9 bem f\u00e1cil de confundir em que posi\u00e7\u00e3o est\u00e3o qual(is) postagem(ns) e qual(is) coment\u00e1rio(s).<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">E isso \u00e9 bem <strong>comum <\/strong>nos c\u00f3digos do dia a dia de trabalho, principalmente quando n\u00e3o h\u00e1 uma estrat\u00e9gia de revis\u00e3o de c\u00f3digo antes da entrega.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A fim de evitar esse mesmo problema \u00e9 bom desistirmos de usar prefixos e sufixos nos nossos nomes.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Se voc\u00ea precisa <strong>classificar <\/strong>algo atrav\u00e9s disso, talvez seja o caso de usar uma outra estrutura por fora que d\u00ea algum sentido a eles.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Seja coerente<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Existem m\u00faltiplas palavras chave para um mesmo sentido.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">As palavras <code>search<\/code> e <code>find<\/code> podem ser usadas dando o mesmo sentido de busca, por exemplo.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Nestes casos \u00e9 bom que o c\u00f3digo mantenha a <strong>coer\u00eancia<\/strong>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Em produ\u00e7\u00e3o textual, a coer\u00eancia \u00e9 o que faz o seu texto n\u00e3o perder o sentido da mensagem.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Ent\u00e3o os termos j\u00e1 introduzidos como refer\u00eancia s\u00e3o reutilizados com mais significado durante o texto conforme v\u00e3o sendo apresentados novamente.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Em programa\u00e7\u00e3o n\u00f3s devemos fazer o mesmo.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Por isso devemos optar por uma estrat\u00e9gia de padroniza\u00e7\u00e3o:<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Se decidirmos que fun\u00e7\u00f5es <code>find<\/code> s\u00e3o utilizadas para buscar um registro no banco de dados, n\u00e3o vamos criar uma fun\u00e7\u00e3o <code>searchById<\/code> com o mesmo intuito.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Essa parte \u00e9 interessante!<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">No livro <em>Clean Code<\/em>, o Robert n\u00e3o\u00a0deixa de mencionar\u00a0que podemos sim ter fun\u00e7\u00f5es com nomes <code>find<\/code> e <code>search<\/code>, desde que elas ofere\u00e7am significados (ou seja, funcionalidades) diferentes.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Ent\u00e3o podemos dizer que a fun\u00e7\u00f5es com <code>find<\/code> no nome significam implicitamente uma busca no banco de dados.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Enquanto as com <code>search<\/code> buscam numa estrutura de dados espec\u00edfica da nossa aplica\u00e7\u00e3o.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Olha a import\u00e2ncia da padroniza\u00e7\u00e3o entre a equipe a\u00ed de novo na hora de voc\u00ea praticar c\u00f3digo limpo.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Idioma e <em>Case Types<\/em> na hora de praticar c\u00f3digo limpo<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Isso \u00e9 meio clich\u00ea, mas realmente \u00e9 necess\u00e1rio: <strong>programem em ingl\u00eas.<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Se voc\u00ea n\u00e3o tem o dom\u00ednio desse idioma, aproveite a oportunidade e pratique.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Esse \u00e9 o ambiente perfeito para voc\u00ea errar sem vergonha alguma, pois at\u00e9 quem \u00e9 fluente no idioma vai escrever nomes ruins.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O pior dos casos \u00e9 ficar com c\u00f3digos em &#8220;portungl\u00eas&#8221;.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">\u00c9 extremamente dif\u00edcil escrever tudo em portugu\u00eas visto que uma hora ou outra voc\u00ea vai precisar usar coisas nativas da pr\u00f3pria linguagem de programa\u00e7\u00e3o em que estiver e que fatalmente estar\u00e3o em ingl\u00eas.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Apesar disso percebam como ter conhecimentos em l\u00ednguas foi importante neste artigo mesmo pelas regras para o portugu\u00eas mesmo.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Por fim, gostaria de atentar aos <em>Case Types<\/em>. N\u00e3o consegui dar tradu\u00e7\u00f5es a eles, ent\u00e3o os termos ter\u00e3o que ficar em ingl\u00eas mesmo:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>Camel Case:<\/strong> comum para nomear fun\u00e7\u00f5es. Gosto de usar este case tamb\u00e9m para vari\u00e1veis que armazenam objetos. Formato: <em>camelCase<\/em>. Ex: <code>getUserById(); $newUser = new User(); $newUser-&gt;encryptPassword()<\/code>;<\/li>\r\n<li><strong>Pascal Case:<\/strong> \u00e9 assim que nomeamos classes, n\u00e3o \u00e9 legal utilizar este case em nenhum outro caso. Formato: <em>PascalCase<\/em>. Ex: <code>class DocumentModel {   \/\/ ... } <\/code><\/li>\r\n<li><strong>Snake Case:<\/strong> comum para nomes em geral e vem em dois sabores: <br \/>\r\n<ul>\r\n<li><strong>Upper Snake Case:<\/strong> comumente utilizada para nome de constantes. Formato: <em>UPPER_SNAKE_CASE<\/em>. Ex.: <code>const BASE_URL = 'www.geekhunter.com/pt/blog\/'<\/code>; <\/li>\r\n<li><strong>Lower Snake Case:<\/strong> utilizada nas mais diversas coisas. Eu gosto de usar em nomes de arquivos, vari\u00e1veis com valores simples (n\u00e3o objetos) e ids em tags HTML. <br \/>No PHP as fun\u00e7\u00f5es nativas est\u00e3o quase todas neste case type. Formato: <em>lower_snake_case<\/em>. <br \/>Ex.:<code> $pdf_content = file_get_contents('holy_bible.pdf'); $html = '&lt;div id=\"game_canvas\"&gt;&lt;\/div&gt;'<\/code>; <\/li>\r\n<\/ul>\r\n<\/li>\r\n<li><strong>Kebab Case:<\/strong> muito utilizado para definir <em>slugs<\/em> de URIs e para nomes de classes em CSS. Formato: <em>kebab-case<\/em>. Ex:<code> $slug = 'codigo-limpo'; $html = '&lt;div class=\"container-fluid\"&gt;&lt;\/div&gt;<\/code>&#8216;;<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Espero que tenham gostado! At\u00e9 a pr\u00f3xima!<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Voc\u00ea j\u00e1 deve ter ouvido falar que &#8220;um bom c\u00f3digo dispensa coment\u00e1rios&#8221; ou ter achado que praticar c\u00f3digo limpo \u00e9 muito dif\u00edcil, certo? Nesse artigo vou te contar toda a verdade sobre a parte pr\u00e1tica do c\u00f3digo limpo! Se voc\u00ea caiu aqui de paraquedas, seja muito bem-vindo! Antes, d\u00e1 uma olhada no que a gente [&hellip;]<\/p>\n","protected":false},"author":167,"featured_media":8831,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[18],"tags":[],"class_list":["post-8818","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimiento-de-software"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.3 (Yoast SEO v28.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>C\u00f3digo limpo: introdu\u00e7\u00e3o \u00e0 pr\u00e1tica e principais conceitos<\/title>\n<meta name=\"description\" content=\"Um bom desenvolvedor sabe praticar c\u00f3digo limpo! Conhe\u00e7a as principais dicas que v\u00e3o te ajudar a ter um c\u00f3digo claro e coerente!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.geekhunter.com\/pt\/blog\/praticar-codigo-limpo\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Come\u00e7ando a praticar C\u00f3digo Limpo\" \/>\n<meta property=\"og:description\" content=\"Voc\u00ea j\u00e1 deve ter ouvido falar que &quot;um bom c\u00f3digo dispensa coment\u00e1rios&quot; ou ter achado que praticar c\u00f3digo limpo \u00e9 muito dif\u00edcil, certo? Nesse artigo vou te\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.geekhunter.com\/pt\/blog\/praticar-codigo-limpo\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Geekhunter\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/geekhunterbr\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-03T23:13:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-29T13:58:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/c\u00f3digo-limpo-habilidades-pr\u00e1ticas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"750\" \/>\n\t<meta property=\"og:image:height\" content=\"410\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Geekhunter\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@geekhunterbr\" \/>\n<meta name=\"twitter:site\" content=\"@geekhunterbr\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Geekhunter\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/praticar-codigo-limpo\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/praticar-codigo-limpo\\\/\"},\"author\":{\"name\":\"Geekhunter\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/person\\\/9f62b173345139f7bbdaf55312c3d400\"},\"headline\":\"Come\u00e7ando a praticar C\u00f3digo Limpo\",\"datePublished\":\"2024-09-03T23:13:27+00:00\",\"dateModified\":\"2024-10-29T13:58:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/praticar-codigo-limpo\\\/\"},\"wordCount\":1873,\"publisher\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/praticar-codigo-limpo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/c\u00f3digo-limpo-habilidades-pr\u00e1ticas.png\",\"articleSection\":[\"Desenvolvimiento de software\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/praticar-codigo-limpo\\\/\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/praticar-codigo-limpo\\\/\",\"name\":\"C\u00f3digo limpo: introdu\u00e7\u00e3o \u00e0 pr\u00e1tica e principais conceitos\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/praticar-codigo-limpo\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/praticar-codigo-limpo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/c\u00f3digo-limpo-habilidades-pr\u00e1ticas.png\",\"datePublished\":\"2024-09-03T23:13:27+00:00\",\"dateModified\":\"2024-10-29T13:58:07+00:00\",\"description\":\"Um bom desenvolvedor sabe praticar c\u00f3digo limpo! Conhe\u00e7a as principais dicas que v\u00e3o te ajudar a ter um c\u00f3digo claro e coerente!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/praticar-codigo-limpo\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/praticar-codigo-limpo\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/praticar-codigo-limpo\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/c\u00f3digo-limpo-habilidades-pr\u00e1ticas.png\",\"contentUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/c\u00f3digo-limpo-habilidades-pr\u00e1ticas.png\",\"width\":750,\"height\":410,\"caption\":\"praticar c\u00f3digo limpo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/praticar-codigo-limpo\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mundo TI\",\"item\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/category\\\/mundo-ti\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Desenvolvimiento de software\",\"item\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/category\\\/mundo-ti\\\/desenvolvimiento-de-software\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Come\u00e7ando a praticar C\u00f3digo Limpo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/\",\"name\":\"Blog de TI\",\"description\":\"Dicas para o RH e profissionais da \u00e1rea TI\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#organization\",\"name\":\"GeekHunter\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/icon-1.png\",\"contentUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/icon-1.png\",\"width\":300,\"height\":300,\"caption\":\"GeekHunter\"},\"image\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/geekhunterbr\\\/\",\"https:\\\/\\\/x.com\\\/geekhunterbr\",\"https:\\\/\\\/www.instagram.com\\\/geekhunterbr\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/geekhunter-brasil\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@GeekHunterOfficial\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/person\\\/9f62b173345139f7bbdaf55312c3d400\",\"name\":\"Geekhunter\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g\",\"caption\":\"Geekhunter\"},\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/author\\\/matias\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"C\u00f3digo limpo: introdu\u00e7\u00e3o \u00e0 pr\u00e1tica e principais conceitos","description":"Um bom desenvolvedor sabe praticar c\u00f3digo limpo! Conhe\u00e7a as principais dicas que v\u00e3o te ajudar a ter um c\u00f3digo claro e coerente!","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:\/\/www.geekhunter.com\/pt\/blog\/praticar-codigo-limpo\/","og_locale":"pt_BR","og_type":"article","og_title":"Come\u00e7ando a praticar C\u00f3digo Limpo","og_description":"Voc\u00ea j\u00e1 deve ter ouvido falar que \"um bom c\u00f3digo dispensa coment\u00e1rios\" ou ter achado que praticar c\u00f3digo limpo \u00e9 muito dif\u00edcil, certo? Nesse artigo vou te","og_url":"https:\/\/www.geekhunter.com\/pt\/blog\/praticar-codigo-limpo\/","og_site_name":"Blog Geekhunter","article_publisher":"https:\/\/www.facebook.com\/geekhunterbr\/","article_published_time":"2024-09-03T23:13:27+00:00","article_modified_time":"2024-10-29T13:58:07+00:00","og_image":[{"width":750,"height":410,"url":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/c\u00f3digo-limpo-habilidades-pr\u00e1ticas.png","type":"image\/png"}],"author":"Geekhunter","twitter_card":"summary_large_image","twitter_creator":"@geekhunterbr","twitter_site":"@geekhunterbr","twitter_misc":{"Escrito por":"Geekhunter","Est. tempo de leitura":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/praticar-codigo-limpo\/#article","isPartOf":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/praticar-codigo-limpo\/"},"author":{"name":"Geekhunter","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/person\/9f62b173345139f7bbdaf55312c3d400"},"headline":"Come\u00e7ando a praticar C\u00f3digo Limpo","datePublished":"2024-09-03T23:13:27+00:00","dateModified":"2024-10-29T13:58:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/praticar-codigo-limpo\/"},"wordCount":1873,"publisher":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#organization"},"image":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/praticar-codigo-limpo\/#primaryimage"},"thumbnailUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/c\u00f3digo-limpo-habilidades-pr\u00e1ticas.png","articleSection":["Desenvolvimiento de software"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/praticar-codigo-limpo\/","url":"https:\/\/www.geekhunter.com\/pt\/blog\/praticar-codigo-limpo\/","name":"C\u00f3digo limpo: introdu\u00e7\u00e3o \u00e0 pr\u00e1tica e principais conceitos","isPartOf":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/praticar-codigo-limpo\/#primaryimage"},"image":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/praticar-codigo-limpo\/#primaryimage"},"thumbnailUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/c\u00f3digo-limpo-habilidades-pr\u00e1ticas.png","datePublished":"2024-09-03T23:13:27+00:00","dateModified":"2024-10-29T13:58:07+00:00","description":"Um bom desenvolvedor sabe praticar c\u00f3digo limpo! Conhe\u00e7a as principais dicas que v\u00e3o te ajudar a ter um c\u00f3digo claro e coerente!","breadcrumb":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/praticar-codigo-limpo\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.geekhunter.com/pt/blog\/praticar-codigo-limpo\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/praticar-codigo-limpo\/#primaryimage","url":"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2020\/01\/c\u00f3digo-limpo-habilidades-pr\u00e1ticas.png","contentUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/c\u00f3digo-limpo-habilidades-pr\u00e1ticas.png","width":750,"height":410,"caption":"praticar c\u00f3digo limpo"},{"@type":"BreadcrumbList","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/praticar-codigo-limpo\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.geekhunter.com/pt/blog\/"},{"@type":"ListItem","position":2,"name":"Mundo TI","item":"https:\/\/www.geekhunter.com/pt/blog\/category\/mundo-ti\/"},{"@type":"ListItem","position":3,"name":"Desenvolvimiento de software","item":"https:\/\/www.geekhunter.com/pt/blog\/category\/mundo-ti\/desenvolvimiento-de-software\/"},{"@type":"ListItem","position":4,"name":"Come\u00e7ando a praticar C\u00f3digo Limpo"}]},{"@type":"WebSite","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#website","url":"https:\/\/www.geekhunter.com\/pt\/blog\/","name":"Blog de TI","description":"Dicas para o RH e profissionais da \u00e1rea TI","publisher":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.geekhunter.com/pt/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#organization","name":"GeekHunter","url":"https:\/\/www.geekhunter.com\/pt\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2024\/10\/icon-1.png","contentUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2024\/10\/icon-1.png","width":300,"height":300,"caption":"GeekHunter"},"image":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/geekhunterbr\/","https:\/\/x.com\/geekhunterbr","https:\/\/www.instagram.com\/geekhunterbr\/","https:\/\/www.linkedin.com\/company\/geekhunter-brasil\/","https:\/\/www.youtube.com\/@GeekHunterOfficial"]},{"@type":"Person","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/person\/9f62b173345139f7bbdaf55312c3d400","name":"Geekhunter","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g","caption":"Geekhunter"},"url":"https:\/\/www.geekhunter.com\/pt\/blog\/author\/matias\/"}]}},"_links":{"self":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/posts\/8818","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/users\/167"}],"replies":[{"embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/comments?post=8818"}],"version-history":[{"count":0,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/posts\/8818\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/media\/8831"}],"wp:attachment":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/media?parent=8818"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/categories?post=8818"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/tags?post=8818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}