{"id":2656,"date":"2020-04-14T18:15:00","date_gmt":"2020-04-14T21:15:00","guid":{"rendered":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/?p=2656"},"modified":"2025-09-02T13:56:47","modified_gmt":"2025-09-02T16:56:47","slug":"um-ensaio-sobre-comentarios","status":"publish","type":"post","link":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/2020\/04\/14\/um-ensaio-sobre-comentarios","title":{"rendered":"Um Ensaio sobre Coment\u00e1rios"},"content":{"rendered":"\n<p class=\"c26\"><span class=\"c0\">Em momentos como o que vivemos agora, \u00e9 de se esperar que a partir do \u00f3cio de ficar em casa surja criatividade. Bom, n\u00e3o foi o meu caso nesses \u00faltimos dias.<\/span><\/p>\n<p class=\"c8 c15\"><span class=\"c4\">Para a escrita deste artigo, inicialmente pensei em falar sobre o funcionamento do tempo de execu\u00e7\u00e3o do\u00a0<\/span><span class=\"c2\">JavaScript<\/span><span class=\"c4\">, um tema muito importante para qualquer desenvolvedor\u00a0<\/span><span class=\"c2\">web<\/span><span class=\"c4\">. Entretanto, j\u00e1 existem muitos materiais de qualidade sobre isso, tanto em ingl\u00eas quanto em portugu\u00eas, como a\u00a0<\/span><span class=\"c16 c4\"><a class=\"c19\" href=\"https:\/\/www.google.com\/url?q=https:\/\/www.youtube.com\/watch?v%3D8aGhZQkoFbQ&amp;sa=D&amp;ust=1588661862544000\">palestra<\/a><\/span><span class=\"c4\">\u00a0do\u00a0<\/span><span class=\"c16 c4\"><a class=\"c19\" href=\"https:\/\/www.google.com\/url?q=https:\/\/twitter.com\/philip_roberts&amp;sa=D&amp;ust=1588661862545000\">Philip Roberts<\/a><\/span><span class=\"c4\">\u00a0na\u00a0<\/span><span class=\"c16 c4\"><a class=\"c19\" href=\"https:\/\/www.google.com\/url?q=https:\/\/2019.jsconf.eu\/&amp;sa=D&amp;ust=1588661862545000\">JSConf EU<\/a><\/span><span class=\"c4\">, em que ele destrincha o funcionamento do\u00a0<\/span><span class=\"c2\">Event Loop<\/span><span class=\"c0\">.<\/span><\/p>\n<p class=\"c8 c15\"><span class=\"c4\">Al\u00e9m disso, tamb\u00e9m cheguei a estudar\u00a0<\/span><span class=\"c2\">containers<\/span><span class=\"c4\">\u00a0e suas propriedades, conhecendo experts na \u00e1rea como a\u00a0<\/span><span class=\"c16 c4\"><a class=\"c19\" href=\"https:\/\/www.google.com\/url?q=https:\/\/jvns.ca\/&amp;sa=D&amp;ust=1588661862546000\">Julia Evans<\/a><\/span><span class=\"c4\">, que oferta materiais incr\u00edveis sobre o tema. De qualquer forma, n\u00e3o foi dessa vez em que escrevi um tutorial sobre eles e tecnologias auxiliares, como\u00a0<\/span><span class=\"c2\">Docker<\/span><span class=\"c4\">\u00a0e\u00a0<\/span><span class=\"c2\">Kubernetes<\/span><span class=\"c0\">.<\/span><\/p>\n<p class=\"c8 c15\"><span class=\"c4\">J\u00e1 faz um tempo que tenho vontade de escrever sobre algo n\u00e3o t\u00e3o t\u00e9cnico, mas sim algo que passa despercebido e \u00e9 importante em nosso cotidiano. Foi quando encontrei uma palestra da Sarah Drasner que fez tudo se encaixar para que essa reda\u00e7\u00e3o fosse escrita. Sendo assim, nessa edi\u00e7\u00e3o vamos fugir do formato tradicional do PET Reda\u00e7\u00e3o e discutir um pouco sobre coment\u00e1rios,\u00a0<\/span><span class=\"c2\">gatekeeping<\/span><span class=\"c4\">, vi\u00e9s de sobreviv\u00eancia e outras coisas.<\/span><\/p>\n<p class=\"c8\"><strong><span class=\"c6 c4\">Coment\u00e1rios s\u00e3o falhos! Ou ser\u00e1 que n\u00e3o?<\/span><\/strong><\/p>\n<p class=\"c8 c15\"><span class=\"c0\">Desde o in\u00edcio da jornada da maioria dos desenvolvedores de software, somos ensinados sobre o qu\u00e3o importante s\u00e3o os coment\u00e1rios em nosso trabalho. At\u00e9 mesmo para os mais incr\u00e9dulos, basta ter que trabalhar em projetos com c\u00f3digo legado ou revisitar projetos antigos para entender a import\u00e2ncia dos coment\u00e1rios. Mas ao contr\u00e1rio do que se aprende no in\u00edcio de nossas carreiras, h\u00e1 um tipo de l\u00f3gica muito presente na cabe\u00e7a de muitos desenvolvedores que j\u00e1 est\u00e3o inseridos no mercado de trabalho: coment\u00e1rios s\u00e3o ruins.<\/span><\/p>\n<p class=\"c8 c15\"><span class=\"c4\">Quem nunca ouviu a seguinte frase: \u201cVoc\u00ea n\u00e3o precisa de coment\u00e1rios se escrever um c\u00f3digo limpo\u201d? Muito provavelmente a popularidade dessa ideia se disseminou com o livro\u00a0<\/span><span class=\"c16 c4\"><a class=\"c19\" href=\"https:\/\/www.google.com\/url?q=https:\/\/www.amazon.com.br\/C%25C3%25B3digo-limpo-Robert-C-Martin\/dp\/8576082675\/ref%3Dsr_1_1?adgrpid%3D81608350312%26gclid%3DCj0KCQjw-r71BRDuARIsAB7i_QMuXYRpX0bLAdaAPh7V6RJysHFE_sOnXMIsb8C1fBjgBBlf5B89PCQaAgK9EALw_wcB%26hvadid%3D426015455681%26hvdev%3Dc%26hvlocphy%3D1001689%26hvnetw%3Dg%26hvqmt%3De%26hvrand%3D4473610138288222241%26hvtargid%3Dkwd-447114230604%26hydadcr%3D5622_11235117%26keywords%3Dcodigo%2Blimpo%26qid%3D1588630055%26sr%3D8-1&amp;sa=D&amp;ust=1588661862548000\">C\u00f3digo Limpo<\/a><\/span><span class=\"c4\">\u00b9<\/span><span class=\"c4\">. Nesse livro, h\u00e1 um cap\u00edtulo dedicado especificamente aos coment\u00e1rios, mas que aborda eles como um mal necess\u00e1rio, iniciando imediatamente com a cita\u00e7\u00e3o abaixo.<\/span><\/p>\n<p class=\"c26 c39 c15\">\u00a0<\/p>\n<blockquote>\n<p class=\"c26 c15\" style=\"text-align: center\"><span class=\"c1 c29\">\u201c<\/span><span class=\"c36 c4\">N\u00e3o comente c\u00f3digo ruim,\u00a0<\/span><span class=\"c1 c36\">reescreva-o<\/span><span class=\"c27 c1 c29\">\u201d<\/span><\/p>\n<p class=\"c26 c15 c46\" style=\"text-align: center\"><span class=\"c27 c4 c13\">Brian W. Kernighan and P. J. Plaugher<\/span><\/p>\n<\/blockquote>\n<p class=\"c3\">\u00a0<\/p>\n<p class=\"c8 c15\"><span class=\"c0\">O autor do livro explica que coment\u00e1rios s\u00e3o essencialmente falhos, porque sua exist\u00eancia j\u00e1 demonstra que o programador falhou em se expressar atrav\u00e9s do c\u00f3digo. Junto disso, tamb\u00e9m ressalta que o c\u00f3digo de uma aplica\u00e7\u00e3o se transforma, \u00e9 apagado, reescrito e assim em diante, e o coment\u00e1rio n\u00e3o o segue nessa evolu\u00e7\u00e3o. Ele afirma que os programadores poderiam ser disciplinados a atualizar os coment\u00e1rios conforme a progress\u00e3o do c\u00f3digo, mas que o melhor a se fazer \u00e9 dispender essa energia totalmente \u00e0 escrita de um c\u00f3digo leg\u00edvel.<\/span><\/p>\n<p class=\"c8 c15\"><span class=\"c0\">Todos os pontos levantados por ele podem ser v\u00e1lidos, mas ocorre um equ\u00edvoco em seu racioc\u00ednio. N\u00e3o importa o qu\u00e3o bem escrito e limpo seja o seu c\u00f3digo, h\u00e1 uma limita\u00e7\u00e3o:<\/span><\/p>\n<p class=\"c3\">\u00a0<\/p>\n<blockquote>\n<p class=\"c26 c15\" style=\"text-align: center\"><span class=\"c1 c44\">\u201c<\/span><span class=\"c4 c28\">C\u00f3digo pode explicar como<\/span><span class=\"c1 c18\">, <\/span><span class=\"c4 c28\">mas n\u00e3o pode explicar<\/span><span class=\"c1 c28\">\u00a0por qu\u00ea<\/span><span class=\"c1 c25\">\u201d<\/span><\/p>\n<p class=\"c33 c46 c15\" style=\"text-align: center\"><span class=\"c4 c13\">Sarah Drasner<\/span><\/p>\n<\/blockquote>\n<p class=\"c7\">\u00a0<\/p>\n<p class=\"c8\"><span class=\"c4\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Em sua palestra sobre a Arte dos Coment\u00e1rios,\u00a0<\/span><span class=\"c16 c4\"><a class=\"c19\" href=\"https:\/\/www.google.com\/url?q=https:\/\/sarahdrasnerdesign.com\/&amp;sa=D&amp;ust=1588661862550000\">Sarah Drasner<\/a><\/span><span class=\"c4\">\u00b2\u00a0<\/span><span class=\"c0\">demonstra que h\u00e1 uma limita\u00e7\u00e3o lingu\u00edstica de todas as linguagens de programa\u00e7\u00e3o: elas n\u00e3o foram feitas exclusivamente para comunica\u00e7\u00e3o entre seres humanos. Observemos este exemplo: qual dos dois trechos de c\u00f3digos abaixo \u00e9 mais leg\u00edvel?<\/span><\/p>\n<p class=\"c7\">\u00a0<\/p>\n<table class=\"c5\">\n<tbody>\n<tr class=\"c37\">\n<td class=\"c47\" colspan=\"1\" rowspan=\"1\">\n<p class=\"c20\"><code><span class=\"c11\">sum<\/span><span class=\"c14\">\u00a0=\u00a0<\/span><span class=\"c11\">posts<\/span><span class=\"c14\">.<\/span><span class=\"c22\">reduce<\/span><span class=\"c14\">((<\/span><span class=\"c11\">s<\/span><span class=\"c14\">,\u00a0<\/span><span class=\"c11\">p<\/span><span class=\"c14\">)\u00a0<\/span><span class=\"c42\">=&gt;<\/span><span class=\"c14\">\u00a0<\/span><span class=\"c11\">s<\/span><span class=\"c14\">\u00a0+=\u00a0<\/span><span class=\"c11\">p<\/span><span class=\"c14\">.<\/span><span class=\"c11\">upvotes<\/span><span class=\"c14\">,\u00a0<\/span><span class=\"c45\">0<\/span><span class=\"c14\">);<\/span><\/code><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"c7\">\u00a0<\/p>\n<table class=\"c5\">\n<tbody>\n<tr class=\"c37\">\n<td class=\"c23\" colspan=\"1\" rowspan=\"1\">\n<p class=\"c20\"><code><span class=\"c11\">posts<\/span><span class=\"c14\">.<\/span><span class=\"c22\">forEach<\/span><span class=\"c14\">(<\/span><span class=\"c11\">el<\/span><span class=\"c14\">\u00a0<\/span><span class=\"c42\">=&gt;<\/span><span class=\"c14 c27\">\u00a0{<\/span><\/code><\/p>\n<p class=\"c20\"><code><span class=\"c14\">\u00a0<\/span><span class=\"c11\">sum<\/span><span class=\"c14\">\u00a0+=\u00a0<\/span><span class=\"c11\">el<\/span><span class=\"c14\">.<\/span><span class=\"c11 c27\">upVotes<\/span><\/code><\/p>\n<p class=\"c20\"><code><span class=\"c14\">});<\/span><\/code><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"c7\">\u00a0<\/p>\n<p class=\"c8\"><span class=\"c0\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0A resposta certa seria: depende. \u00a0N\u00e3o h\u00e1 como afirmar que h\u00e1 um consenso do que \u00e9 um c\u00f3digo leg\u00edvel para todos, j\u00e1 que somos todos pessoas com opini\u00f5es e experi\u00eancias diferentes. Um c\u00f3digo que \u00e9 limpo para n\u00f3s hoje pode se tornar um c\u00f3digo confuso daqui a 5 anos. Sendo assim, n\u00e3o h\u00e1 por que abolir coment\u00e1rios da programa\u00e7\u00e3o assim como n\u00e3o devemos us\u00e1-los como muleta para escrever c\u00f3digos confusos e ruins, mas trat\u00e1-los como uma ferramenta que precisava ser revisada e atualizada assim como qualquer c\u00f3digo.<\/span><\/p>\n<p class=\"c8\"><strong><span class=\"c6 c4\">Os coment\u00e1rios podem ser bons!<\/span><\/strong><\/p>\n<p class=\"c8\"><span class=\"c4 c21\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"c0\">Podemos destacar v\u00e1rios tipos de coment\u00e1rios que s\u00e3o, sim, importantes e at\u00e9 mesmo necess\u00e1rios em v\u00e1rios momentos, podendo ser tempor\u00e1rios ou at\u00e9 mesmo permanentes. Algumas das situa\u00e7\u00f5es que podemos utilizar os coment\u00e1rios s\u00e3o as seguintes:<\/span><span class=\"c0\">\u00a0 \u00a0 \u00a0<\/span><\/p>\n<ul class=\"c17 lst-kix_z4hvfxyrb1xn-0 start\">\n<li class=\"c8 c34\"><span class=\"c1\">Entendendo o porqu\u00ea de um c\u00f3digo<\/span><span class=\"c0\">: coment\u00e1rios conseguem transmitir explica\u00e7\u00f5es que n\u00e3o podem ser inferidas pela estrutura de uma fun\u00e7\u00e3o, como o porqu\u00ea de se utilizar funcionalidade X e n\u00e3o funcionalidade Y;<\/span><\/li>\n<li class=\"c8 c34\"><span class=\"c1\">Legibilidade<\/span><span class=\"c0\">: as linguagens de programa\u00e7\u00e3o n\u00e3o foram escritas para comunica\u00e7\u00e3o entre seres humanos, ent\u00e3o \u00e9 muito dif\u00edcil identificar o que certos c\u00f3digos significam, como um c\u00f3digo de compatibilidade para navegadores antigos;<\/span><\/li>\n<li class=\"c8 c34\"><span class=\"c1\">Separa\u00e7\u00e3o do c\u00f3digo em se\u00e7\u00f5es<\/span><span class=\"c0\">: uma t\u00e9cnica \u00fatil para auxiliar desenvolvedores a localizarem \u00e1reas de responsabilidade dentro de um c\u00f3digo, deixando claro onde se localiza o c\u00f3digo respons\u00e1vel pelo c\u00e1lculo X e onde fica a fun\u00e7\u00e3o que realiza a an\u00e1lise desse c\u00e1lculo, por exemplo;<\/span><\/li>\n<\/ul>\n<p class=\"c8\"><span class=\"c4\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0No entanto, n\u00e3o se prenda a esses exemplos como um guia. Um coment\u00e1rio pode ser usado sempre que preciso, desde que ele n\u00e3o piore a experi\u00eancia de desenvolver naquela base de c\u00f3digo, sendo que cada caso precisa ser analisado separadamente. Portanto, n\u00e3o h\u00e1 problema em remover coment\u00e1rios que ajudam inicialmente mas acabam sendo in\u00fateis posteriormente: eles tamb\u00e9m podem ter validade!<\/span><\/p>\n<p class=\"c8\"><strong><span class=\"c4 c38\">E \u00e0s vezes podem ser bem ruins&#8230;<\/span><\/strong><\/p>\n<p class=\"c8\"><span class=\"c4 c21\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"c0\">Ainda assim, h\u00e1 casos em que o coment\u00e1rio realmente nunca deveria ter sido escrito, geralmente por ser um tempo e energia gastos pelo desenvolvedor que n\u00e3o geram valor para a base de c\u00f3digo, como os seguintes exemplos:<\/span><\/p>\n<ul class=\"c17 lst-kix_dvmye23cvx2g-0 start\">\n<li class=\"c8 c34\"><span class=\"c1\">Reescrevendo o que o c\u00f3digo significa<\/span><span class=\"c0\">: MUITOS coment\u00e1rios servem somente para explicar o que est\u00e1 acontecendo em uma escala pequena, como a defini\u00e7\u00e3o de vari\u00e1veis, mas n\u00e3o precisamos disso. O significado daquela linha est\u00e1 contido dentro daquela declara\u00e7\u00e3o;<\/span><\/li>\n<li class=\"c8 c34\"><span class=\"c1\">Coment\u00e1rios ultrapassados<\/span><span class=\"c0\">: coment\u00e1rios que n\u00e3o s\u00e3o mantidos junto ao c\u00f3digo acabam confundindo mais os desenvolvedores, como quando a \u00a0informa\u00e7\u00e3o em um coment\u00e1rio n\u00e3o se relaciona de forma alguma com a declara\u00e7\u00e3o abaixo;<\/span><\/li>\n<li class=\"c8 c34\"><span class=\"c1\">Coment\u00e1rios utilizados para guardar c\u00f3digos antigos<\/span><span class=\"c4\">: esse item \u00e9 auto explicativo. Usar coment\u00e1rios dessa forma para testes r\u00e1pidos \u00e9 aceit\u00e1vel, mas mant\u00ea-los em seu projeto \u00e9 ruim para a legibilidade. H\u00e1 muitas maneiras de salvar vers\u00f5es antigas de funcionalidades em um c\u00f3digo, principalmente com a exist\u00eancia de ferramentas de versionamento, como o\u00a0<\/span><span class=\"c4\">Git<\/span><span class=\"c0\">.<\/span><\/li>\n<\/ul>\n<p class=\"c8\"><span class=\"c4 c21\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"c4\">Vale lembrar que eles tamb\u00e9m n\u00e3o devem ser usados como muletas ao escrever c\u00f3digos ruins, porque temos que tentar ser o mais leg\u00edveis poss\u00edveis em nossas ideias. De qualquer forma, exce\u00e7\u00f5es acontecem e\u00a0<\/span><span class=\"c2\">deadlines<\/span><span class=\"c0\">\u00a0apertad\u00edssimas muitas vezes ir\u00e3o exigir que medidas desesperadas sejam tomadas.<\/span><\/p>\n<p class=\"c8\"><strong><span class=\"c6 c4\">Fa\u00e7a o seu melhor!<\/span><\/strong><\/p>\n<p class=\"c8 c15\"><span class=\"c0\">Independente de todos os exemplos dados aqui, n\u00e3o h\u00e1 um guia oficial ou um consciente coletivo sobre como usar os coment\u00e1rios. N\u00e3o existe isso de nunca escrever coment\u00e1rios, ou sempre comentar, mas devemos, sim, assumir uma postura de utiliz\u00e1-los de uma forma racional e que agregue valor ao nosso trabalho.<\/span><\/p>\n<p class=\"c8 c15\"><span class=\"c4\">Ao comentar uma linha de c\u00f3digo, sempre se coloque no lugar de quem escreve mas tamb\u00e9m de quem ler\u00e1 aquele coment\u00e1rio, pensando sempre sobre que tipo de informa\u00e7\u00e3o \u00e9 necess\u00e1ria para que voc\u00ea seja o mais produtivo poss\u00edvel. Sempre fa\u00e7a o seu melhor.<\/span><\/p>\n<p class=\"c8\"><strong><span class=\"c4 c6\">Algumas coisas precisam mudar<\/span><\/strong><\/p>\n<p class=\"c8 c15\"><span class=\"c4\">Antes de finalizar o artigo, vale ressaltar que boa parte dessas ideias contr\u00e1rias \u00e0 realiza\u00e7\u00e3o de coment\u00e1rios e outras atividades que n\u00e3o s\u00e3o classicamente tarefas de \u201cdesenvolvedor raiz\u201d, se disseminam atrav\u00e9s de dois tipos de eventos que ocorrem muito dentro da \u00e1rea de Tecnologia da Informa\u00e7\u00e3o:\u00a0<\/span><span class=\"c2\">gatekeeping<\/span><span class=\"c0\">\u00a0e vi\u00e9s de sobreviv\u00eancia.<\/span><\/p>\n<p class=\"c8 c15\"><span class=\"c4\">Explicando ambos de forma simples,\u00a0<\/span><span class=\"c2\">gatekeeping<\/span><span class=\"c0\">\u00a0\u00e9 a atividade em que um indiv\u00edduo toma para si a fun\u00e7\u00e3o de dizer se outro indiv\u00edduo faz parte de um grupo ou comunidade. Enquanto isso, vi\u00e9s de sobreviv\u00eancia faz com que nos concentremos somente em indiv\u00edduos ou coisas que passaram por algum tipo de sele\u00e7\u00e3o, ignorando os que n\u00e3o sobreviveram a esse processo.<\/span><\/p>\n<p class=\"c8 c15\"><span class=\"c4\">Na \u00e1rea de desenvolvimento de software, principalmente quando se trata de desenvolvimento desktop e back-end, muitas ideias e costumes acabam sendo replicados atrav\u00e9s do vi\u00e9s de sobreviv\u00eancia, j\u00e1 que os processos e ferramentas s\u00e3o ultrapassados por muitos sistemas serem antigos. Entenda o que quero dizer: desenvolvedores mais velhos e mentores assumem que a maneira certa de se programar \u00e9 passando pelas mesmas dificuldades que levaram eles ao ponto em que chegaram. Dessa forma, n\u00e3o importa se o seu conceito de c\u00f3digo limpo \u00e9 diferente do resto, voc\u00ea\u00a0<\/span><span class=\"c1\">DEVE<\/span><span class=\"c4\">\u00a0<\/span><span class=\"c4\">adaptar-se \u00e0 norma! Esse processo acaba por prejudicar e at\u00e9 mesmo afastar muitos desenvolvedores da profiss\u00e3o, principalmente membros de minorias, como mulheres, n\u00e3o brancos e\u00a0<\/span><span class=\"c2\">queers<\/span><span class=\"c0\">, por exemplo.<\/span><\/p>\n<p class=\"c8 c15\"><span class=\"c4\">Tamb\u00e9m, medidas de ju\u00edzo de valor s\u00e3o frequentes utilizadas em v\u00e1rias comunidades de software, n\u00e3o sendo incomum que desenvolvedores apegados \u00e0 processos relacionados \u00e0s\u00a0<\/span><span class=\"c16 c2\"><a class=\"c19\" href=\"https:\/\/www.google.com\/url?q=https:\/\/pt.wikipedia.org\/wiki\/Soft_skills&amp;sa=D&amp;ust=1588661862561000\">soft skills<\/a><\/span><span class=\"c4\">\u00a0ou at\u00e9 mesmo\u00a0<\/span><span class=\"c2\">front-end<\/span><span class=\"c0\">, como o estudo e uso de coment\u00e1rios de uma maneira eficiente, acabem sendo rebaixados ou at\u00e9 mesmo exclu\u00eddos.<\/span><\/p>\n<p class=\"c8 c15\"><span class=\"c0\">Esse tipo de comportamento \u00e9 t\u00f3xico e precisa ser abolido de qualquer ambiente de desenvolvimento em que exista. Antes de programadores, somos seres humanos com hist\u00f3rias, contextos e vidas diferentes. Ningu\u00e9m passou por uma linha de montagem para chegar at\u00e9 onde estamos, ent\u00e3o n\u00e3o vamos exigir uma igualdade injusta mas , sim, equidade.<\/span><\/p>\n<p>\u00a0<\/p>\n<h6 class=\"c8\"><span class=\"c4\">\u00b9\u00a0<\/span><span class=\"c27 c30 c4\">Para quem n\u00e3o o conhece, o livro \u00e9 escrito por Robert \u201cUncle Bob\u201d Cecil Martin, uma personalidade muito influente no ambiente de desenvolvimento. Ele \u00e9 um dos 17 signat\u00e1rios originais do Manifesto \u00c1gil, atualmente prestando consultoria internacionalmente e tendo escrito muitos livros na \u00e1rea de desenvolvimento de software.<\/span><\/h6>\n<h6 class=\"c8\"><span class=\"c4 c40\">\u00b2\u00a0<\/span><span class=\"c4 c40\">Esse artigo foi muito inspirado na incr\u00edvel palestra realizada pela Sarah Drasner na JSConf Hawai\u2019i, ent\u00e3o n\u00e3o deixem de assisti-l\u00e1 nesse\u00a0<\/span><span class=\"c16 c4 c40\"><a class=\"c19\" href=\"https:\/\/www.google.com\/url?q=https:\/\/www.youtube.com\/watch?v%3DyhF7OmuIILc&amp;sa=D&amp;ust=1588661862562000\">link<\/a><\/span><span class=\"c27 c30 c4\">. Para saber mais sobre a Sarah e seu trabalho, acesse esse seu website.<\/span><\/h6>\n<p class=\"c26 c39\">\u00a0<\/p>\n<p class=\"c8\"><span class=\"c4 c38\">Refer\u00eancias:<\/span><\/p>\n<ul class=\"c17 lst-kix_cb3o2mn3qa52-0 start\">\n<li class=\"c8 c9\"><span class=\"c16 c4\"><a class=\"c19\" href=\"https:\/\/www.google.com\/url?q=https:\/\/www.youtube.com\/watch?v%3DyhF7OmuIILc&amp;sa=D&amp;ust=1588661862563000\">The Art of Code Comments &#8211; Sarah Drasner | JSConf Hawaii 2020<\/a><\/span><\/li>\n<li class=\"c8 c9\"><span class=\"c16 c4\"><a class=\"c19\" href=\"https:\/\/www.google.com\/url?q=https:\/\/blog.usejournal.com\/stop-writing-code-comments-28fef5272752&amp;sa=D&amp;ust=1588661862564000\">Stop Writing Code Comments<\/a><\/span><\/li>\n<li class=\"c8 c9\"><span class=\"c4 c16\"><a class=\"c19\" href=\"https:\/\/www.google.com\/url?q=https:\/\/www.cs.utah.edu\/~germain\/PPS\/Topics\/commenting.html&amp;sa=D&amp;ust=1588661862564000\">Programming &#8211; Commenting<\/a><\/span><\/li>\n<li class=\"c8 c9\"><span class=\"c16 c4\"><a class=\"c19\" href=\"https:\/\/www.google.com\/url?q=https:\/\/www.freecodecamp.org\/news\/code-comments-the-good-the-bad-and-the-ugly-be9cc65fbf83\/&amp;sa=D&amp;ust=1588661862565000\">Putting comments in code: the good, the bad, and the ugly.<\/a><\/span><\/li>\n<li class=\"c8 c9\"><span class=\"c16 c4\"><a class=\"c19\" href=\"https:\/\/www.google.com\/url?q=https:\/\/www.elegantthemes.com\/blog\/wordpress\/how-to-comment-your-code-like-a-pro-best-practices-and-good-habits&amp;sa=D&amp;ust=1588661862565000\">How to Comment Your Code Like a Pro: Best Practices and Good Habits<\/a><\/span><\/li>\n<li class=\"c8 c9\"><span class=\"c16 c4\"><a class=\"c19\" href=\"https:\/\/www.google.com\/url?q=https:\/\/www.amazon.com.br\/Clean-Code-Handbook-Software-Craftsmanship\/dp\/0132350882&amp;sa=D&amp;ust=1588661862566000\">Clean Code: A Handbook of Agile Software Craftsmanship<\/a><\/span><\/li>\n<\/ul>\n<div>\u00a0<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Em momentos como o que vivemos agora, \u00e9 de se esperar que a partir do \u00f3cio de ficar em casa surja criatividade. Bom, n\u00e3o foi o meu caso nesses \u00faltimos dias. Para a escrita deste artigo, inicialmente pensei em falar sobre o funcionamento do tempo de execu\u00e7\u00e3o do\u00a0JavaScript, um tema muito importante para qualquer desenvolvedor\u00a0web. [&hellip;]<\/p>\n","protected":false},"author":2948,"featured_media":2653,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[124,112],"tags":[195,149],"class_list":["post-2656","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-destaques","category-redacao","tag-outros","tag-redacao"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/posts\/2656","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/users\/2948"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/comments?post=2656"}],"version-history":[{"count":0,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/posts\/2656\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/media\/2653"}],"wp:attachment":[{"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/media?parent=2656"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/categories?post=2656"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/tags?post=2656"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}