[{"@context":"https:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/ivonascimento.com\/2015\/02\/24\/mas-isso-nao-e-importante-por-que-ta-funcionando\/#BlogPosting","mainEntityOfPage":"https:\/\/ivonascimento.com\/2015\/02\/24\/mas-isso-nao-e-importante-por-que-ta-funcionando\/","headline":"Mas isso n\u00e3o \u00e9 importante, por que TA FUNCIONANDO!","name":"Mas isso n\u00e3o \u00e9 importante, por que TA FUNCIONANDO!","description":"Mas isso n\u00e3o \u00e9 importante, por que ta funcionando! Da lista de respostas inc\u00f4modas, essa est\u00e1 na top 3. Por que funciona! Ela \u00e9 normalmente ouvida em resposta a perguntas feitas sobre um trecho de c\u00f3digo com bad smell, mas que &#8220;roda&#8221;, como quando voc\u00ea encontra 3 for-loop\u00a0 alinhados, ou o nome do banco de [&hellip;]","datePublished":"2015-02-24","dateModified":"2015-02-24","author":{"@type":"Person","@id":"https:\/\/ivonascimento.com\/author\/ivonascimento\/#Person","name":"Ivo Nascimento","url":"https:\/\/ivonascimento.com\/author\/ivonascimento\/","identifier":10240028,"image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/2305ea1f48319271d323c5e1c0aadd4cc45d10c4927dd8b3af083facb8c6f75f?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2305ea1f48319271d323c5e1c0aadd4cc45d10c4927dd8b3af083facb8c6f75f?s=96&d=identicon&r=g","height":96,"width":96}},"publisher":{"@type":"Person","name":"Ivo Nascimento"},"image":{"@type":"ImageObject","@id":"https:\/\/i0.wp.com\/ivonascimento.com\/wp-content\/uploads\/2015\/02\/r2j2x6.jpg?fit=500%2C520&ssl=1","url":"https:\/\/i0.wp.com\/ivonascimento.com\/wp-content\/uploads\/2015\/02\/r2j2x6.jpg?fit=500%2C520&ssl=1","height":520,"width":500},"url":"https:\/\/ivonascimento.com\/2015\/02\/24\/mas-isso-nao-e-importante-por-que-ta-funcionando\/","about":["texto de Bus\u00e3o"],"wordCount":737,"articleBody":"Mas isso n\u00e3o \u00e9 importante, por que ta funcionando!Da lista de respostas inc\u00f4modas, essa est\u00e1 na top 3. Por que funciona!Ela \u00e9 normalmente ouvida em resposta a perguntas feitas sobre um trecho de c\u00f3digo com bad smell, mas que &#8220;roda&#8221;, como quando voc\u00ea encontra 3 for-loop\u00a0 alinhados, ou o nome do banco de dados \u00e9 galinha-pintadinha, ou a vari\u00e1vel chama $opaloompa.Bad smell \u00e9 um neg\u00f3cio interessante por que s\u00f3 quem teve de agir como pai, cuidando de um software, como manager, sabe quando. A crian\u00e7a est\u00e1 cagada. Os outros apenas desconfiam.E ai vem a resposta por que sim. Eu tenho me esfor\u00e7ado para pensar que o por que sim n\u00e3o \u00e9 fruto de maldade, que ele vem da simples falta de reflex\u00e3o sobre o problema-objetivo, a saber.Querido programador, o c\u00f3digo \u00e9 escrito para outro programador, n\u00e3o para o bendito do computador.Ent\u00e3o, n\u00e3o \u00e9 e nunca ser\u00e1 a mesma coisa escreverFunction __pegaoValorqueQuero($x, $y){  if ($x &lt; 42 &amp;&amp; $y &gt; 0)    return true;}return false;}EFunction ehRespostaValida($tentativa){  $respostaCorreta = 42;  if ($tentativa == $repostaCorreta)    return true;  return repostaAceitavel($respsotaCorreta, $tentativa); }function respostaAceitavel($absoluta, $tentativa){  $sejaPositivo = 0;  return ($tentaviva &lt; $absoluta &amp;&amp; $tentativa &gt; $sejaPositivo);}Agora vamos a outros detalhes:Bons programadores simplesmente n\u00e3o conseguem avan\u00e7ar na codifica\u00e7\u00e3o se n\u00e3o conseguirem nomear corretamente o que est\u00e3o fazendo por que percebem que se ainda n\u00e3o s\u00e3o capazes de dar nome ao que est\u00e3o fazendo.Nomes das coisasNomear \u00e9 uma das coisas mais dif\u00edceis no ato de programar, chego a dizer que bons programadores simplesmente n\u00e3o conseguem avan\u00e7ar na codifica\u00e7\u00e3o se n\u00e3o conseguirem nomear corretamente o que est\u00e3o fazendo por que percebem que se ainda n\u00e3o s\u00e3o capazes de dar nome ao que est\u00e3o fazendo, \u00e9 muito prov\u00e1vel que ainda n\u00e3o saibam o que fazer e voltam para a an\u00e1lise. Nomes n\u00e3o s\u00e3o frescura, se fosse, eu podia dizer que&#8230; Deixa pra l\u00e1.C\u00f3digo duplicadoVoc\u00ea olha o c\u00f3digo e v\u00ea o mesmo trecho de linhas escrito em dois m\u00e9todos.Pior, voc\u00ea v\u00ea dois m\u00e9todos id\u00eanticos mas um deles est\u00e1 sufixado com um 2[ metodo($x), metodo2($x,$y) ],\u00a0 e tem um par\u00e2metro a mais.Querido di\u00e1rio, hoje eu matei uma pessoa quando ela me disse &#8220;o outro m\u00e9todo estava funcionando e eu n\u00e3o quis mexer&#8221;.M\u00e9todos longosAqui tem uma boa, um passarinho me disse que j\u00e1 viu um m\u00e9todo cujo nome tinha uns 200 caracteres, parece que a justificativa do programador foi que o gerente falou para ser bem descritivo em todo c\u00f3digo que escrevesse.Se o m\u00e9todo faz duas coisas ele est\u00e1 fazendo uma coisa a mais do que deveria.Ent\u00e3o, se ele chamaIncrementaVarisvelESalvaNoBancoEle est\u00e1 gritando que faz duas coisas, gritando!!!Por fim, eu te pergunto, se at\u00e9 beber por beber perde a gra\u00e7a e faz mal, por que programar por programar?Por causa de m\u00e9tricas? Seu chefe conta o n\u00famero de linhas que voc\u00ea adiciona no c\u00f3digo todo dia? Apague linhas e adicione funcionalidades refatorando o que achar importante e prove que ele n\u00e3o est\u00e1 certo.Quando voc\u00ea escreve menos de 50 linhas por dia sua consci\u00eancia pesa? Veja quanto de funcionalidade e efeito colateral voc\u00ea entrega com 50 linhas e se comprometa com 10 linhas para o mesmo entregavel e sem efeito colateral algum e durma melhor, sem precisar de valium.Por que Deus quis? deuses n\u00e3o programam, eles usam a biblioteca chamada Chuck Norris e comando de voz\/Siri para poder dizer: fa\u00e7a-se a luz!(e algum ardu\u00edno acender uma luz via ip do outro lado da sala).N\u00e3o confunda produtividade com efetividade.Os melhores programadores nao produzem c\u00f3digo, eles produzem solu\u00e7\u00f5es e de prefer\u00eancia sem escrever uma linha sequer. Eles s\u00e3o profissionais em resolver problemas.Agora, se voc\u00ea quiser continuar programando no estilo Steve Wonder, saiba que sempre vai existir a ind\u00fastria da manuten\u00e7\u00e3o de software. Eu at\u00e9 j\u00e1 ouvi uma vez de um gerente que podia entregar assim mesmo que depois o cliente pagava pela manuten\u00e7\u00e3o.Nesse caso amigo, vou vai arder no m\u00e1rmore do inferno.Compartilhe isso:\t\t\t\tImprimir(abre em nova janela)\t\t\t\tImprimir\t\t\tTweet\t\t\t\tCompartilhar no WhatsApp(abre em nova janela)\t\t\t\tWhatsApp\t\t\t"},{"@context":"https:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"2015","item":"https:\/\/ivonascimento.com\/2015\/#breadcrumbitem"},{"@type":"ListItem","position":2,"name":"02","item":"https:\/\/ivonascimento.com\/2015\/\/02\/#breadcrumbitem"},{"@type":"ListItem","position":3,"name":"24","item":"https:\/\/ivonascimento.com\/2015\/\/02\/\/24\/#breadcrumbitem"},{"@type":"ListItem","position":4,"name":"Mas isso n\u00e3o \u00e9 importante, por que TA FUNCIONANDO!","item":"https:\/\/ivonascimento.com\/2015\/02\/24\/mas-isso-nao-e-importante-por-que-ta-funcionando\/#breadcrumbitem"}]}]