{"id":309,"date":"2021-11-03T01:58:48","date_gmt":"2021-11-03T04:58:48","guid":{"rendered":"http:\/\/desarrollo-agil.ml\/blog\/?p=309"},"modified":"2021-11-03T01:58:49","modified_gmt":"2021-11-03T04:58:49","slug":"la-programacion-es-una-opinion","status":"publish","type":"post","link":"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/","title":{"rendered":"La programaci\u00f3n es una opini\u00f3n"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u00bfPodemos juzgar una pieza de software de manera objetiva y decir si est\u00e1 mal o bien? <\/h2>\n\n\n\n<p>Si. Podemos. Si cumple todos los requirmientos funcionales y no funcionales que le hayamos puesto, entonces podemos decir que est\u00e1 bien. Por el contrario, si no cumple alguno de los requerimientos, est\u00e1 mal\/defectuosa. Y eso es todo lo que podemos decir objetivamente. Todo lo dem\u00e1s que no haya sido expresado como un requerimiento medible de si fue cumplido o no, pasa a ser subjetivo, o sea, una opini\u00f3n. <br><\/p>\n\n\n\n<p>\u00bfEst\u00e1 poco legible? \u00bfEs inmantenible? Bueno, eso ya es como la belleza de una obra de arte: depende de qui\u00e9n lo mire. Para algunos, por ejemplo, escribir \u00ab{\u00bb en el rengl\u00f3n de abajo es un crimen. Para otros, es un standard. Para algunos, usar programaci\u00f3n funcional es la gloria, para otros, el infierno. Lenguaje fuertemente tipado vs d\u00e9bilmente tipado, tests unitarios versus pruebas manuales, React versus Angular, y as\u00ed, infinitos \u00abversus\u00bb que podemos nombrar. Tantos como programadores haya en el mundo. Y est\u00e1 bien. Esa diversidad es lo que hace que sea tan intelectualmente enriquecedora nuestra profesi\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00abEste es el camino, de otra forma est\u00e1 mal hecho\u00bb<\/h2>\n\n\n\n<p>Todas las herramientas tienen sus pro y contras, y su contexto. Una herramienta puede ser perfecta para un determinado momento de la empresa, y terrible para la misma empresa unos a\u00f1os despu\u00e9s. Y dentro del contexto tambi\u00e9n incluyo al equipo. Una herramienta puede ser espectacular usada por un cierto grupo de personas, con determinadas vivencias y conocimientos, y puede ser terrible usada por otros. Y no por eso la herramienta es mas o menos. O inclusive, no significa que un grupo de personas sea mejor o peor que el otro. Simplemente son distintos, y ciertas combinaciones en algunos contextos resultar mejores que otras. <\/p>\n\n\n\n<p>Obviamente, podemos empezar a afinar la punter\u00eda y ver si determinado dise\u00f1o tarda m\u00e1s o menos en resolver el problema. Ahora&#8230; el tiempo era un requerimiento? Si no lo era, \u00bfcu\u00e1nta diferencia estamos dispuestos a tolerar? Si no establecimos un criterio de aceptaci\u00f3n, ya pasa a ser una opini\u00f3n. Algunas personas preferir\u00e1n sacrificar velocidad de ejecuci\u00f3n, en pos de mejor legibilidad, y otras no. Lo mismo con la cantidad de l\u00edneas de c\u00f3digo, estilo de nombramiento de variables, etc. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00abEntonces hagamos lo que se nos cante\u00bb<\/h2>\n\n\n\n<p>Lo anterior no quiere decir que podamos hacer impunemente lo que nos venga en gana. La comunidad de programadores ha ido cosechando vivencias a lo largo de la historia, y se han ido formando conjuntos de experiencias, del tipo \u00aben otras ocasiones anteriores, ante tal problema, se ha dado esta soluci\u00f3n y ha\/no ha funcionado\u00bb. Comunmente llamados \u00abbuenas pr\u00e1cticas\u00bb. Pero de esto tenemos que ser conscientes: son opiniones,  compartidas por grupos de personas, hechas en base a valoraciones (objetivas o subjetivas) de experiencias pasadas. Y no todos pueden haber tenido las mismas experiencias. Puede que por ejemplo, si intentamos imponer una determinada pr\u00e1ctica en un equipo, buscando un determinado efecto, logremos el efecto contrario, porque quiz\u00e1s no sea el contexto adecuado. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfBueno, y qu\u00e9 hago?<\/h2>\n\n\n\n<p>Trat\u00e1 de aprender todas las buenas pr\u00e1cticas que puedas. Trat\u00e1 de llegar a acuerdos de estilo de c\u00f3digo en tu equipo. Intent\u00e1 hacer medibles el cumplimiento o no de esos acuerdos. Pero fundamentalmente, ten\u00e9 en cuenta que no todos pueden compartir tu opini\u00f3n acerca de qu\u00e9 es o no una buena pr\u00e1ctica, y ten\u00e9 en cuenta que otras personas no necesariamente est\u00e1n viendo o vieron la misma pel\u00edcula que vos, y se flexible. Cont\u00e1 tu visi\u00f3n, escuch\u00e1 la del otro, que en el peor de los casos, si no lleg\u00e1s a un acuerdo, al menos, el va a conocer tu idea, y vos vas a conocer la suya. Y eso ya es un mont\u00f3n. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfPodemos juzgar una pieza de software de manera objetiva y decir si est\u00e1 mal o bien? Si. Podemos. Si cumple todos los requirmientos funcionales y no funcionales que le hayamos puesto, entonces podemos decir que est\u00e1 bien. Por el contrario, si no cumple alguno de los requerimientos, est\u00e1 mal\/defectuosa. Y eso es todo lo que\u2026 <span class=\"read-more\"><a href=\"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/\">Leer m\u00e1s &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>La programaci\u00f3n es una opini\u00f3n - Desarrollo \u00c1gil<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"La programaci\u00f3n es una opini\u00f3n - Desarrollo \u00c1gil\" \/>\n<meta property=\"og:description\" content=\"\u00bfPodemos juzgar una pieza de software de manera objetiva y decir si est\u00e1 mal o bien? Si. Podemos. Si cumple todos los requirmientos funcionales y no funcionales que le hayamos puesto, entonces podemos decir que est\u00e1 bien. Por el contrario, si no cumple alguno de los requerimientos, est\u00e1 mal\/defectuosa. Y eso es todo lo que\u2026 Leer m\u00e1s &raquo;\" \/>\n<meta property=\"og:url\" content=\"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/\" \/>\n<meta property=\"og:site_name\" content=\"Desarrollo \u00c1gil\" \/>\n<meta property=\"article:published_time\" content=\"2021-11-03T04:58:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-03T04:58:49+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@emilianotebes\" \/>\n<meta name=\"twitter:site\" content=\"@emilianotebes\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Emiliano\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"http:\/\/52.201.184.187\/blog\/#website\",\"url\":\"http:\/\/52.201.184.187\/blog\/\",\"name\":\"Desarrollo \\u00c1gil\",\"description\":\"Sofware por y para humanos\",\"publisher\":{\"@id\":\"http:\/\/52.201.184.187\/blog\/#\/schema\/person\/d3f309d88ee70165de93b55560c9f851\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/52.201.184.187\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/#webpage\",\"url\":\"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/\",\"name\":\"La programaci\\u00f3n es una opini\\u00f3n - Desarrollo \\u00c1gil\",\"isPartOf\":{\"@id\":\"http:\/\/52.201.184.187\/blog\/#website\"},\"datePublished\":\"2021-11-03T04:58:48+00:00\",\"dateModified\":\"2021-11-03T04:58:49+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"http:\/\/desarrollo-agil.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"La programaci\\u00f3n es una opini\\u00f3n\"}]},{\"@type\":\"Article\",\"@id\":\"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/#webpage\"},\"author\":{\"@id\":\"http:\/\/52.201.184.187\/blog\/#\/schema\/person\/d3f309d88ee70165de93b55560c9f851\"},\"headline\":\"La programaci\\u00f3n es una opini\\u00f3n\",\"datePublished\":\"2021-11-03T04:58:48+00:00\",\"dateModified\":\"2021-11-03T04:58:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/#webpage\"},\"wordCount\":660,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/52.201.184.187\/blog\/#\/schema\/person\/d3f309d88ee70165de93b55560c9f851\"},\"articleSection\":[\"experiencias\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/#respond\"]}]},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"http:\/\/52.201.184.187\/blog\/#\/schema\/person\/d3f309d88ee70165de93b55560c9f851\",\"name\":\"Emiliano\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"http:\/\/52.201.184.187\/blog\/#personlogo\",\"inLanguage\":\"es\",\"url\":\"http:\/\/2.gravatar.com\/avatar\/e2997f02fe4216c2cce9e5a88e3e3726?s=96&d=mm&r=g\",\"contentUrl\":\"http:\/\/2.gravatar.com\/avatar\/e2997f02fe4216c2cce9e5a88e3e3726?s=96&d=mm&r=g\",\"caption\":\"Emiliano\"},\"logo\":{\"@id\":\"http:\/\/52.201.184.187\/blog\/#personlogo\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/emilianotebes\/\",\"https:\/\/twitter.com\/emilianotebes\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"La programaci\u00f3n es una opini\u00f3n - Desarrollo \u00c1gil","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":"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/","og_locale":"es_ES","og_type":"article","og_title":"La programaci\u00f3n es una opini\u00f3n - Desarrollo \u00c1gil","og_description":"\u00bfPodemos juzgar una pieza de software de manera objetiva y decir si est\u00e1 mal o bien? Si. Podemos. Si cumple todos los requirmientos funcionales y no funcionales que le hayamos puesto, entonces podemos decir que est\u00e1 bien. Por el contrario, si no cumple alguno de los requerimientos, est\u00e1 mal\/defectuosa. Y eso es todo lo que\u2026 Leer m\u00e1s &raquo;","og_url":"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/","og_site_name":"Desarrollo \u00c1gil","article_published_time":"2021-11-03T04:58:48+00:00","article_modified_time":"2021-11-03T04:58:49+00:00","twitter_card":"summary_large_image","twitter_creator":"@emilianotebes","twitter_site":"@emilianotebes","twitter_misc":{"Escrito por":"Emiliano","Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"http:\/\/52.201.184.187\/blog\/#website","url":"http:\/\/52.201.184.187\/blog\/","name":"Desarrollo \u00c1gil","description":"Sofware por y para humanos","publisher":{"@id":"http:\/\/52.201.184.187\/blog\/#\/schema\/person\/d3f309d88ee70165de93b55560c9f851"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/52.201.184.187\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"es"},{"@type":"WebPage","@id":"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/#webpage","url":"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/","name":"La programaci\u00f3n es una opini\u00f3n - Desarrollo \u00c1gil","isPartOf":{"@id":"http:\/\/52.201.184.187\/blog\/#website"},"datePublished":"2021-11-03T04:58:48+00:00","dateModified":"2021-11-03T04:58:49+00:00","breadcrumb":{"@id":"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"http:\/\/desarrollo-agil.com\/blog\/"},{"@type":"ListItem","position":2,"name":"La programaci\u00f3n es una opini\u00f3n"}]},{"@type":"Article","@id":"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/#article","isPartOf":{"@id":"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/#webpage"},"author":{"@id":"http:\/\/52.201.184.187\/blog\/#\/schema\/person\/d3f309d88ee70165de93b55560c9f851"},"headline":"La programaci\u00f3n es una opini\u00f3n","datePublished":"2021-11-03T04:58:48+00:00","dateModified":"2021-11-03T04:58:49+00:00","mainEntityOfPage":{"@id":"http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/#webpage"},"wordCount":660,"commentCount":0,"publisher":{"@id":"http:\/\/52.201.184.187\/blog\/#\/schema\/person\/d3f309d88ee70165de93b55560c9f851"},"articleSection":["experiencias"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/52.201.184.187\/blog\/experiencias\/la-programacion-es-una-opinion\/#respond"]}]},{"@type":["Person","Organization"],"@id":"http:\/\/52.201.184.187\/blog\/#\/schema\/person\/d3f309d88ee70165de93b55560c9f851","name":"Emiliano","image":{"@type":"ImageObject","@id":"http:\/\/52.201.184.187\/blog\/#personlogo","inLanguage":"es","url":"http:\/\/2.gravatar.com\/avatar\/e2997f02fe4216c2cce9e5a88e3e3726?s=96&d=mm&r=g","contentUrl":"http:\/\/2.gravatar.com\/avatar\/e2997f02fe4216c2cce9e5a88e3e3726?s=96&d=mm&r=g","caption":"Emiliano"},"logo":{"@id":"http:\/\/52.201.184.187\/blog\/#personlogo"},"sameAs":["https:\/\/www.linkedin.com\/in\/emilianotebes\/","https:\/\/twitter.com\/emilianotebes"]}]}},"_links":{"self":[{"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/posts\/309"}],"collection":[{"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/comments?post=309"}],"version-history":[{"count":1,"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/posts\/309\/revisions"}],"predecessor-version":[{"id":310,"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/posts\/309\/revisions\/310"}],"wp:attachment":[{"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/media?parent=309"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/categories?post=309"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/tags?post=309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}