{"id":2490,"date":"2016-06-05T17:07:00","date_gmt":"2016-06-05T20:07:00","guid":{"rendered":"https:\/\/devkico.itexto.com.br\/?p=2490"},"modified":"2023-05-13T22:17:39","modified_gmt":"2023-05-14T01:17:39","slug":"quando-o-comentario-realmente-documenta-o-codigo","status":"publish","type":"post","link":"https:\/\/devkico.itexto.com.br\/?p=2490","title":{"rendered":"Quando o coment\u00e1rio realmente documenta o c\u00f3digo"},"content":{"rendered":"<p>Como algu\u00e9m que lida com <strong>muito<\/strong> c\u00f3digo fonte que n\u00e3o \u00e9 de minha autoria, neste post vou listar\u00a0algumas dicas para tornar seus coment\u00e1rios no c\u00f3digo <strong>realmente \u00fateis<\/strong>.\u00a0S\u00e3o h\u00e1bitos simples que, se bem seguidos, tornam a vida de quem manter\u00e1 aquele sistema mais f\u00e1cil e, portanto, aumentam a produtividade de toda a equipe.<\/p>\n<p>Naturalmente, n\u00e3o irei incluir aqui todas as dicas poss\u00edveis,\u00a0raz\u00e3o pela qual no final deste post irei citar algumas boas dicas de leitura sobre este assunto.<\/p>\n<p>N\u00e3o vou falar do \u00f3bvio: &#8220;o coment\u00e1rio deve dizer o que aquele m\u00e9todo ou classe faz&#8221; ou &#8220;comentar o \u00f3bvio \u00e9 bobagem&#8221; ou &#8220;comente apenas o necess\u00e1rio&#8221; pois, convenhamos, \u00e9 chover no molhado ou mero &#8220;preenchimento de lingui\u00e7a&#8221;.<\/p>\n<h2>Tudo \u00e9 hist\u00f3ria<\/h2>\n<p>Todo software\u00a0\u00e9 gerado dentro de um contexto: a situa\u00e7\u00e3o da equipe\u00a0no momento em que foi criado, quem o escreveu, assim como seus conhecimentos naquela \u00e9poca, quais as tecnologias estavam em voga, etc.<\/p>\n<p>Conhecer\u00a0este contexto \u00e9 muito importante para compreender as raz\u00f5es pelas quais o c\u00f3digo se encontra em sua situa\u00e7\u00e3o atual. Infelizmente, na esmagadora maioria das vezes em que encontramos o\u00a0c\u00f3digo pela primeira vez s\u00f3 temos conhecimento do seu estado atual\u00a0se ignorarmos seu hist\u00f3rico no sistema de controle de vers\u00f5es (seja sincero, quantas vezes j\u00e1 percorreu aquele hist\u00f3rico ao ter seu primeiro contato com uma base de c\u00f3digo pr\u00e9-existente?).<\/p>\n<h3>Lidando com o passado &#8211; reconstruindo o hist\u00f3rico perdido<\/h3>\n<p>Coment\u00e1rios podem ajudar e muito aqui. Neste momento entra a primeira dica:\u00a0<strong>use um sistema de controle de issues<\/strong> e replique informa\u00e7\u00f5es deste sistema nos seus coment\u00e1rios. Como fazer isto? Basta mencionar o n\u00famero da issue em seu coment\u00e1rio. Seguem alguns exemplos:<\/p>\n<pre><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\n\/*\nClasse respons\u00e1vel pelo envio de e-mails no sistema \/* (isto \u00e9 \u00f3bvio) *\/\nIssue na qual se encontra documentado o requisito que deu origem ao\nrequisito: http:\/\/meusistemadeissues\/issue\/825\n*\/\nclass EmissorEmail {\n\n<\/pre>\n<p>\u00c9 bastante simples: com isto seus coment\u00e1rios n\u00e3o ficam imensos e quem estiver dando manuten\u00e7\u00e3o no sistema poder\u00e1 entender melhor o contexto no qual aquele c\u00f3digo foi criado. Um\u00a0<strong>excelente<\/strong>\u00a0local para se incluir este tipo de coment\u00e1rios \u00e9 em c\u00f3digo no qual voc\u00ea esteja corrigindo um bug, tal como no exemplo abaixo:<\/p>\n<pre><pre class=\"brush: java; title: ; notranslate\" title=\"\">\nint diasEntreDatas(Date dataInicial, Date dataFinal) {\n\/*\nHavia um erro no c\u00f3digo abaixo que n\u00e3o considerava s\u00e1bados e domingos,\ngerando resultados inv\u00e1lidos.\nIssue: http:\/\/seusistemadeversoes\/issue\/847\nAlterado por Henrique Lobo - 1\/3\/2016 - 14:20\n*\/\n}\n<\/pre>\n<p>Entra a segunda dica:\u00a0<strong>assine seus coment\u00e1rios<\/strong>. Com isto, caso algu\u00e9m encontre problemas no c\u00f3digo que voc\u00ea alterou, poder\u00e1 lhe procurar para obter maiores informa\u00e7\u00f5es a respeito daquela situa\u00e7\u00e3o que, talvez, n\u00e3o se encontrem documentadas no seu sistema de issues ou qualquer outra fonte de documenta\u00e7\u00e3o.<\/p>\n<p>Mais do que\u00a0<strong>assinar os coment\u00e1rios<\/strong>, creio que tamb\u00e9m seja muito importante incluir a\u00a0<strong>data e hora<\/strong> no mesmo. Isto contribu\u00ed para entender o contexto hist\u00f3rico daquela altera\u00e7\u00e3o e muitas vezes agiliza\u00a0<strong>ao extremo<\/strong> a compreens\u00e3o do problema e aplica\u00e7\u00e3o da solu\u00e7\u00e3o. Esta portanto \u00e9 minha\u00a0<strong>terceira dica:<\/strong>\u00a0<strong>date seus coment\u00e1rios<\/strong>.<\/p>\n<p>Tr\u00eas dicas simples relacionadas ao hist\u00f3rico que, se aplicadas em conjunto, facilitar\u00e3o <strong>demais<\/strong> a vida de todos:<\/p>\n<ul>\n<li>Use um sistema de issues e o referencie em seus coment\u00e1rios<\/li>\n<li>Assine seus coment\u00e1rios para que as pessoas possam lhe procurar (quem n\u00e3o tem culpa no cart\u00f3rio n\u00e3o se esconde)<\/li>\n<li>Sempre inclua uma data nos seus coment\u00e1rios para saber quando a altera\u00e7\u00e3o foi realizada<\/li>\n<\/ul>\n<h3>Lidando com o passado recente<\/h3>\n<p>H\u00e1 tamb\u00e9m aquelas situa\u00e7\u00f5es nas quais voc\u00ea fez uma altera\u00e7\u00e3o no c\u00f3digo mas n\u00e3o se sente 100% seguro a seu respeito, mesmo que tenha escrito testes para validar o comportamento esperado. \u00c9 normal e te entendo perfeitamente. Nestes casos, n\u00e3o h\u00e1 problema algum em deixar comentada a vers\u00e3o anterior do c\u00f3digo apenas para compara\u00e7\u00e3o com o que voc\u00ea fez, tal como no exemplo a seguir:<\/p>\n<pre><pre class=\"brush: java; title: ; notranslate\" title=\"\">\n\nint soma(int x, int y) {\nreturn x + y;\n\/*\nAcho a vers\u00e3o anterior pura frescura, por isto substitu\u00ed pela\nminha alterantiva melhor otimizada e que n\u00e3o usa ifs!\nIssue: http:\/\/www.meusistemadeissues.com\/issue\/13\nHenrique Lobo - 2\/2\/2012 - 13:13\nreturn (x &amp;amp;gt; Integer.MAX_VALUE || y &amp;amp;gt; Integer.MAX_VALUE) ? -1 : x + y;\n*\/\n}\n\n<\/pre>\n<h3>Lidando com o futuro (usando lembretes)<\/h3>\n<p>Muitas vezes a press\u00e3o do dia a dia faz com que precisemos incluir d\u00e9bitos t\u00e9cnicos em nossos sistemas. \u00c9 normal: no futuro voc\u00ea vai resolver estas quest\u00f5es (se se lembrar delas).<\/p>\n<p>A maior parte das IDEs hoje, al\u00e9m de sistemas de an\u00e1lise est\u00e1tica de c\u00f3digo como o SonarQube oferecem suporte a um tipo especial de coment\u00e1rio: o &#8220;TODO&#8221;. Nunca o viu? \u00c9 simples: vamos a um exemplo r\u00e1pido e completamente fora da realidade.<\/p>\n<pre><pre class=\"brush: java; title: ; notranslate\" title=\"\">\n\nboolean autenticar(String login, String senha) {\n\n\/*\nTODO: meu gerente me obrigou a isto para o release 1.0.0 do sistema\nHenrique Lobo - 12\/3\/2004 12:00\nIssue: http:\/\/www.meusistemadeissues.com.br\/issues\/666\n*\/\nif (login == &quot;dede&quot;) {\nreturn true;\n}\n}\n\n<\/pre>\n<p>Coment\u00e1rios do tipo <strong>TODO<\/strong>\u00a0mostram pontos a serem melhorados no sistema. Na imagem abaixo podemos ver um exemplo do uso deste tipo de coment\u00e1rio no Eclipse (pr\u00e1ticamente todas as IDEs possuem este recurso atualmente):<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-2493\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2016\/06\/todo_eclipse-300x184.png\" alt=\"todo_eclipse\" width=\"300\" height=\"184\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2016\/06\/todo_eclipse-300x184.png 300w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2016\/06\/todo_eclipse.png 409w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Mesmo que voc\u00ea n\u00e3o se lembre de ter feito o que estava no coment\u00e1rio,\u00a0<strong>algu\u00e9m do futuro<\/strong> saber\u00e1 a respeito e poder\u00e1 fazer algo a respeito.<\/p>\n<h2>Refatorando coment\u00e1rios?<\/h2>\n<p>Se voc\u00ea usa um sistema de controle de issues e assina e data\u00a0seus coment\u00e1rios, passado algum tempo voc\u00ea talvez precise refator\u00e1-los. Como assim?<\/p>\n<p>De duas maneiras: voc\u00ea pode excluir aqueles coment\u00e1rios que envolvam c\u00f3digo antigo (pois o tempo j\u00e1 mostrou que as altera\u00e7\u00f5es realizadas funcionaram) ou voc\u00ea pode simplesmente remover aqueles coment\u00e1rios que n\u00e3o agregam coisa alguma.<\/p>\n<p>Resumindo: de tempos em tempos \u00e9 uma boa pr\u00e1tica apagar os coment\u00e1rios in\u00fateis. Lembre que voc\u00ea tem o sistema de controle de vers\u00f5es e nele j\u00e1 est\u00e1 presente todo o hist\u00f3rico de altera\u00e7\u00f5es.<\/p>\n<h2>N\u00e3o divulgue segredos<\/h2>\n<p>Parece estranho o que vou dizer, mas seu coment\u00e1rio pode expor segredos relativos \u00e0 sua empresa ou contratante. Apesar de ter mencionado no in\u00edcio deste post que n\u00e3o iria mencionar o \u00f3bvio, me assusta a quantidade de informa\u00e7\u00f5es sigilosas que programadores publicam em seus coment\u00e1rios. Alguns exemplos:<\/p>\n<ul>\n<li>Credenciais de acesso a servi\u00e7os ou servidores<\/li>\n<li>&#8220;Recados&#8221; a outros membros da equipe &#8211; &#8220;Kico, resolva isto depois, ok?&#8221;<\/li>\n<li>Cr\u00edticas ao empregador ou outros membros da equipe<\/li>\n<li>Cr\u00edticas \u00e0 natureza do pr\u00f3prio c\u00f3digo fonte (isto voc\u00ea documenta como d\u00e9bito t\u00e9cnico no sistema de issues normalmente)<\/li>\n<\/ul>\n<p>Quer um bom exemplo hist\u00f3rico? Algum tempo atr\u00e1s vazou o c\u00f3digo fonte do Windows 2000. Que tal ler o que a m\u00eddia da \u00e9poca <a href=\"http:\/\/www.theinquirer.net\/inquirer\/news\/1030335\/leaked-windows-2000-source-code-analysed\">comentou a respeito<\/a>?<\/p>\n<p>Lembre que remover commits do sistema de controle de vers\u00f5es n\u00e3o \u00e9 uma tarefa trivial.<\/p>\n<h2>Boas leituras<\/h2>\n<p>H\u00e1 dois livros muito bons que possuem cap\u00edtulos dedicados aos coment\u00e1rios em c\u00f3digo fonte:<\/p>\n<p><a href=\"http:\/\/www.amazon.com\/Code-Complete-Practical-Handbook-Construction\/dp\/0735619670\">Code Complete<\/a> &#8211; Steve McConnell &#8211; Editora Microsoft (diga-se de passagem, <strong>o melhor livro que j\u00e1 li sobre programa\u00e7\u00e3o em geral<\/strong>, leitura obrigat\u00f3ria) &#8211; Traduzido para o portugu\u00eas pela editora Bookman<\/p>\n<p><a href=\"http:\/\/www.amazon.com\/Clean-Code-Handbook-Software-Craftsmanship\/dp\/0132350882\">Clean Code<\/a> &#8211; Robert C. Martin &#8211; Editora Prentice Hall &#8211; Traduzido para o portugu\u00eas pela editora Alta Books &#8211; (nota de 2023: n\u00e3o recomendo mais este livro, mais detalhes abaixo)<\/p>\n<p>As duas tradu\u00e7\u00f5es s\u00e3o muito boas e ambos s\u00e3o leitura obrigat\u00f3ria apesar da minha prefer\u00eancia pelo primeiro.<\/p>\n<h2>Concluindo<\/h2>\n<p>N\u00e3o creio naquela hist\u00f3ria de que &#8220;a documenta\u00e7\u00e3o do meu sistema \u00e9 meu c\u00f3digo&#8221;, no entanto, se for o caso, pelo menos bons coment\u00e1rios ir\u00e3o lhe ajudar na manuten\u00e7\u00e3o futura deste sistema.<\/p>\n<p>Sobre minhas cr\u00edticas ao &#8220;c\u00f3digo como \u00fanica documenta\u00e7\u00e3o&#8221;, prov\u00e1velmente ser\u00e1 meu pr\u00f3ximo post neste blog (ou quando encontrar uma forma mais polida de lidar com este assunto). :)<\/p>\n<h1>Nota de 2023<\/h1>\n<p>Escrevi este texto em 2016. Nesta \u00e9poca eu recomendava o livro &#8220;C\u00f3digo Limpo&#8221; no cap\u00edtulo sobre coment\u00e1rios. Se voc\u00ea o leu por minha recomenda\u00e7\u00e3o, pe\u00e7o desculpas. Acho que este \u00e9 um dos textos mais nefastos da hist\u00f3ria de nossa \u00e1rea.<\/p>\n<p>Busque aqui no blog a parte 3 da s\u00e9rie &#8220;Eu e o Clean Code&#8221; na qual analiso mais a fundo este cap\u00edtulo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Algumas dicas r\u00e1pidas e f\u00e1ceis que lhe ajudar\u00e3o a escrever coment\u00e1rios mais \u00fateis em seu c\u00f3digo fonte.<\/p>\n","protected":false},"author":1,"featured_media":2491,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[35,36,34],"tags":[],"class_list":["post-2490","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-armadilhas","category-desenvolvimento-de-software","category-paideia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Quando o coment\u00e1rio realmente documenta o c\u00f3digo - \/dev\/Kico<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devkico.itexto.com.br\/?p=2490\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Quando o coment\u00e1rio realmente documenta o c\u00f3digo - \/dev\/Kico\" \/>\n<meta property=\"og:description\" content=\"Algumas dicas r\u00e1pidas e f\u00e1ceis que lhe ajudar\u00e3o a escrever coment\u00e1rios mais \u00fateis em seu c\u00f3digo fonte.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devkico.itexto.com.br\/?p=2490\" \/>\n<meta property=\"og:site_name\" content=\"\/dev\/Kico\" \/>\n<meta property=\"article:published_time\" content=\"2016-06-05T20:07:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-14T01:17:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2016\/06\/comentario_agradavel.png\" \/>\n\t<meta property=\"og:image:width\" content=\"450\" \/>\n\t<meta property=\"og:image:height\" content=\"168\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@loboweissmann\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\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\":\"WebPage\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2490\",\"url\":\"https:\/\/devkico.itexto.com.br\/?p=2490\",\"name\":\"Quando o coment\u00e1rio realmente documenta o c\u00f3digo - \/dev\/Kico\",\"isPartOf\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2490#primaryimage\"},\"image\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2490#primaryimage\"},\"thumbnailUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2016\/06\/comentario_agradavel.png\",\"datePublished\":\"2016-06-05T20:07:00+00:00\",\"dateModified\":\"2023-05-14T01:17:39+00:00\",\"author\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2490#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/devkico.itexto.com.br\/?p=2490\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2490#primaryimage\",\"url\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2016\/06\/comentario_agradavel.png\",\"contentUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2016\/06\/comentario_agradavel.png\",\"width\":450,\"height\":168},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2490#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/devkico.itexto.com.br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Quando o coment\u00e1rio realmente documenta o c\u00f3digo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\",\"url\":\"https:\/\/devkico.itexto.com.br\/\",\"name\":\"\/dev\/Kico\",\"description\":\"Desenvolvendo software\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/devkico.itexto.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\",\"name\":\"Kico (Henrique Lobo Weissmann)\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"caption\":\"Kico (Henrique Lobo Weissmann)\"},\"sameAs\":[\"https:\/\/x.com\/loboweissmann\"],\"url\":\"https:\/\/devkico.itexto.com.br\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Quando o coment\u00e1rio realmente documenta o c\u00f3digo - \/dev\/Kico","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:\/\/devkico.itexto.com.br\/?p=2490","og_locale":"pt_BR","og_type":"article","og_title":"Quando o coment\u00e1rio realmente documenta o c\u00f3digo - \/dev\/Kico","og_description":"Algumas dicas r\u00e1pidas e f\u00e1ceis que lhe ajudar\u00e3o a escrever coment\u00e1rios mais \u00fateis em seu c\u00f3digo fonte.","og_url":"https:\/\/devkico.itexto.com.br\/?p=2490","og_site_name":"\/dev\/Kico","article_published_time":"2016-06-05T20:07:00+00:00","article_modified_time":"2023-05-14T01:17:39+00:00","og_image":[{"width":450,"height":168,"url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2016\/06\/comentario_agradavel.png","type":"image\/png"}],"author":"Kico (Henrique Lobo Weissmann)","twitter_card":"summary_large_image","twitter_creator":"@loboweissmann","twitter_misc":{"Escrito por":"Kico (Henrique Lobo Weissmann)","Est. tempo de leitura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devkico.itexto.com.br\/?p=2490","url":"https:\/\/devkico.itexto.com.br\/?p=2490","name":"Quando o coment\u00e1rio realmente documenta o c\u00f3digo - \/dev\/Kico","isPartOf":{"@id":"https:\/\/devkico.itexto.com.br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devkico.itexto.com.br\/?p=2490#primaryimage"},"image":{"@id":"https:\/\/devkico.itexto.com.br\/?p=2490#primaryimage"},"thumbnailUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2016\/06\/comentario_agradavel.png","datePublished":"2016-06-05T20:07:00+00:00","dateModified":"2023-05-14T01:17:39+00:00","author":{"@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7"},"breadcrumb":{"@id":"https:\/\/devkico.itexto.com.br\/?p=2490#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devkico.itexto.com.br\/?p=2490"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/?p=2490#primaryimage","url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2016\/06\/comentario_agradavel.png","contentUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2016\/06\/comentario_agradavel.png","width":450,"height":168},{"@type":"BreadcrumbList","@id":"https:\/\/devkico.itexto.com.br\/?p=2490#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devkico.itexto.com.br\/"},{"@type":"ListItem","position":2,"name":"Quando o coment\u00e1rio realmente documenta o c\u00f3digo"}]},{"@type":"WebSite","@id":"https:\/\/devkico.itexto.com.br\/#website","url":"https:\/\/devkico.itexto.com.br\/","name":"\/dev\/Kico","description":"Desenvolvendo software","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devkico.itexto.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7","name":"Kico (Henrique Lobo Weissmann)","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","caption":"Kico (Henrique Lobo Weissmann)"},"sameAs":["https:\/\/x.com\/loboweissmann"],"url":"https:\/\/devkico.itexto.com.br\/?author=1"}]}},"jetpack_featured_media_url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2016\/06\/comentario_agradavel.png","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2490"}],"collection":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2490"}],"version-history":[{"count":8,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2490\/revisions"}],"predecessor-version":[{"id":4083,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2490\/revisions\/4083"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/media\/2491"}],"wp:attachment":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}