{"id":2723,"date":"2019-05-24T10:00:01","date_gmt":"2019-05-24T08:00:01","guid":{"rendered":"https:\/\/2019-developers.sevilla.wordcamp.org\/?post_type=wcb_session&#038;p=2723"},"modified":"2019-10-23T21:04:29","modified_gmt":"2019-10-23T19:04:29","slug":"del-caos-a-la-excelencia-refactorizando-un-plugin","status":"publish","type":"wcb_session","link":"https:\/\/sevilla.wordcamp.org\/2019-developers\/session\/del-caos-a-la-excelencia-refactorizando-un-plugin\/","title":{"rendered":"Del caos a la excelencia: Refactorizando un plugin"},"content":{"rendered":"\n<p>Vamos a empezar con un plugin que incluir\u00e1 el m\u00e1ximo posible de malas pr\u00e1cticas y chapuzas y lo vamos a ir mejorando y refactorizando hasta que consigamos un plugin que nos llene de orgullo y podamos ense\u00f1ar a familia y amigos.<\/p>\n\n\n\n<p>El primer paso ser\u00e1 crear un sistema automatizado de pruebas que nos permita comprobar que los cambios que vayamos haciendo no van a romper el plugin.<\/p>\n\n\n\n<p>Una vez tengamos el sistema listo comenzaremos a refactorizar y a limpiar el c\u00f3digo. Esto requerir\u00e1 de la participaci\u00f3n de la audiencia. Entre todos iremos viendo poco a poco qu\u00e9 cosas se pueden ir mejorando para aumentar la legibilidad del c\u00f3digo y eliminar errores y c\u00f3digo spaguetti.<\/p>\n\n\n\n<p>Por el camino ir\u00e9 introduciendo conceptos de POO, SOLID, patrones, etc.<\/p>\n\n\n\n<p>Al final ver\u00e1s que las cosas se pueden hacer de forma correcta y que resulta m\u00e1s r\u00e1pido y divertido que andar haciendo chapuzas.<\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe loading=\"lazy\" class=\"youtube-player\" width=\"525\" height=\"296\" src=\"https:\/\/www.youtube.com\/embed\/q9nzBpytRwc?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=es-ES&#038;autohide=2&#038;wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\"><\/iframe><\/span>\n<\/div><\/figure>\n\n\n<ul class=\"wordcamp-block wordcamp-post-list has-layout-list wordcamp-speakers\"><li class=\"wordcamp-post-list__post wordcamp-clearfix\">\n<div class=\"wordcamp-speaker wordcamp-speakers__post slug-gorka-urrutia\">\n\t<h3 class=\"wordcamp-block__item-title wordcamp-speakers__title\"><a href=\"https:\/\/sevilla.wordcamp.org\/2019-developers\/speaker\/gorka-urrutia\/\">Gorka Urrutia<\/a><\/h3>\n\t\t\t<div class=\"wordcamp-image__avatar-container align-none\">\n\t\t\t<a href=\"https:\/\/sevilla.wordcamp.org\/2019-developers\/speaker\/gorka-urrutia\/\" class=\"wordcamp-image__avatar-link\">\n\t\t\t\t<img decoding=\"async\" src=\"https:\/\/secure.gravatar.com\/avatar\/f01087a6f0d6580ed41359d7d05a74a771a749f4d1873448cda28a2bc4ef23c0?s=150&amp;d=mm&amp;r=g\" alt=\"Avatar de Gorka Urrutia\" \/>\t\t\t<\/a>\n\t\t<\/div>\n\t\n\t\t\t<div class=\"wordcamp-block__item-content wordcamp-speakers__content is-full\"><p>Sus comienzos en el desarrollo web tienen su origen en la procastinaci\u00f3n. Mientras estudiaba la carrera de ingenier\u00eda industrial descubri\u00f3 que los libros de inform\u00e1tica de su hermano le apasionaban m\u00e1s que la termodin\u00e1mica y la mec\u00e1nica cu\u00e1ntica.<\/p>\n<p>Mont\u00f3 su primera empresa all\u00e1 por el a\u00f1o 2001 y desde entonces ha intentado hacer siempre lo que m\u00e1s le apetec\u00eda en el momento (desde el desarrollo web hasta montar una tienda de comics).<\/p>\n<p>Ha llegado a odiar PHP\u2026 hasta que descubri\u00f3 que otra forma de programar era posible. Tanto le volvi\u00f3 a enamorar el desarrollo que incluso escribi\u00f3 un libro de POO en PHP.<\/p>\n<p>El a\u00f1o pasado entr\u00f3 como socio en Solvent, probablemente, una de las mejores empresas de desarrollo del mundo (o eso dicen nuestras madres). Ahora est\u00e1 como pez en el agua, gestionando y desarrollando en proyectos en PHP.<\/p>\n<\/div>\t\n\t<\/div>\n\n<\/li><\/ul>\n\n\n<h2 class=\"wp-block-heading\">Aperitivo formativo<\/h2>\n\n\n\n<p>Para seguir el taller de manera c\u00f3moda y poder participar se recomienda a los asistentes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>&#8211; Llevar un WordPress instalado. A poder ser uno \u00ablimpio\u00bb.<\/li><li>&#8211; Instalar Cypress en una carpeta aparte (<a rel=\"noreferrer noopener\" href=\"https:\/\/www.cypress.io\/\" target=\"_blank\">https:\/\/www.cypress.io\/<\/a>). Convendr\u00eda que supiesen manejarlo a un nivel muy b\u00e1sico.<\/li><li>&#8211; Instalar WP-Cli (<a rel=\"noreferrer noopener\" href=\"https:\/\/wp-cli.org\/#install\" target=\"_blank\">https:\/\/wp-cli.org\/#install<\/a>). Este tambi\u00e9n ser\u00eda conveniente que supieran manejarlo a un nivel muy, muy b\u00e1sico.<\/li><li>&#8211; Instalar PHPUnit (<a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/sebastianbergmann\/phpunit#installation\" target=\"_blank\">https:\/\/github.com\/sebastianbergmann\/phpunit#installation<\/a>).<\/li><li>&#8211; Tener instalado su IDE favorito.<br><\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Enlace al v\u00eddeo en WordPress.tv<\/h4>\n","protected":false},"excerpt":{"rendered":"<p>Vamos a empezar con un plugin que incluir\u00e1 el m\u00e1ximo posible de malas pr\u00e1cticas y chapuzas y lo vamos a ir mejorando y refactorizando hasta que consigamos un plugin que nos llene de orgullo y podamos ense\u00f1ar a familia y amigos. El primer paso ser\u00e1 crear un sistema automatizado de pruebas que nos permita comprobar &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/sevilla.wordcamp.org\/2019-developers\/session\/del-caos-a-la-excelencia-refactorizando-un-plugin\/\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \u00abDel caos a la excelencia: Refactorizando un plugin\u00bb<\/span><\/a><\/p>\n","protected":false},"author":134560,"featured_media":5620,"template":"","meta":{"jetpack_post_was_ever_published":false,"_wcpt_session_time":1570203900,"_wcpt_session_duration":3000,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"https:\/\/wordpress.tv\/2019\/10\/18\/gorka-urrutia-del-caos-a-la-excelencia-refactorizando-un-plugin\/","_wcpt_speaker_id":[3270],"footnotes":""},"session_track":[1269855],"session_category":[3558,34220],"class_list":["post-2723","wcb_session","type-wcb_session","status-publish","has-post-thumbnail","hentry","wcb_track-aula-beginner","wcb_session_category-beginner","wcb_session_category-taller"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/papmcC-HV","session_date_time":{"date":"4 de octubre de 2019","time":"17:45"},"session_speakers":[{"id":"3270","slug":"gorka-urrutia","name":"Gorka Urrutia","link":"https:\/\/sevilla.wordcamp.org\/2019-developers\/speaker\/gorka-urrutia\/"}],"session_cats_rendered":"Principiante \/ Beginner, Taller \/ Workshop","_links":{"self":[{"href":"https:\/\/sevilla.wordcamp.org\/2019-developers\/wp-json\/wp\/v2\/sessions\/2723","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sevilla.wordcamp.org\/2019-developers\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/sevilla.wordcamp.org\/2019-developers\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":15,"href":"https:\/\/sevilla.wordcamp.org\/2019-developers\/wp-json\/wp\/v2\/sessions\/2723\/revisions"}],"predecessor-version":[{"id":5697,"href":"https:\/\/sevilla.wordcamp.org\/2019-developers\/wp-json\/wp\/v2\/sessions\/2723\/revisions\/5697"}],"speakers":[{"embeddable":true,"href":"https:\/\/sevilla.wordcamp.org\/2019-developers\/wp-json\/wp\/v2\/speakers\/3270"}],"author":[{"embeddable":true,"href":"https:\/\/sevilla.wordcamp.org\/2019-developers\/wp-json\/wporg\/v1\/users\/gorkau"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sevilla.wordcamp.org\/2019-developers\/wp-json\/wp\/v2\/media\/5620"}],"wp:attachment":[{"href":"https:\/\/sevilla.wordcamp.org\/2019-developers\/wp-json\/wp\/v2\/media?parent=2723"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/sevilla.wordcamp.org\/2019-developers\/wp-json\/wp\/v2\/session_track?post=2723"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/sevilla.wordcamp.org\/2019-developers\/wp-json\/wp\/v2\/session_category?post=2723"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}