refactoring

Recursos de programación de refactoring
Michael Feathers is the Founder and Director of R7K Research & Conveyance, a company specializing in software and organization design. Prior to forming R7K, Michael was the Chief Scientist of Obtiva and a consultant with Object Mentor International. Over the past 20 years he has consulted with hundreds of organizations, supporting them with general software design issues, process change and code revitalization. He is a frequent presenter at national and international conferences. He was involved in the early Agile movement and one of his passions is helping organizations recognize the impact of their internal organization and communication on the long term viability of their software products - putting interactions in place to prevent the accumulation of technical debt and lost business opportunities. His goal is to make software development more effective and integrated with business concerns. He is the author of the books: Working Effectively with Legacy Code, Brutal Refactoring: More Working Effectively with Legacy Code. His main specialties are software development practices, TDD, Refactoring, Legacy Code Revitalization, and team dynamics.
In large and complex software systems, the allocation of responsibilities to different parts of architecture is a key concern. Over time responsibilities can span across multiple parts inappropriately and the parts themselves can become overburdened with too many responsibilities. In this talk, Michael Feathers will describe a lightweight process for creating Responsibility Indices, models that index into information specific to each responsibility in a system: quality measures, refactoring plans, and strategy-based rules for change. By considering responsibilities more primary than physical location in code, teams are able to bring code and responsibility into alignment and track information needed for effective decision making that enhances cohesion over time. ---------- Síguenos en nuestras redes para estar al día de las novedades: - Twitter: https://goo.gl/MU5pUQ ​​​​ - Instagram: https://lk.autentia.com/instagram ​​​​ - LinkedIn: https://goo.gl/2On7Fj/ ​​​​ - Facebook: https://goo.gl/o8HrWX
En este video, el equipo de #penpot Alonso y Ester nos explican cuál ha sido el impacto generado en su infraestructura y la migración masiva de usuarios debido a la adquisición de #figmadesign por parte de #adobe. Además veremos cómo trabajan #diseño y #desarrollo en el roadmap de una herramienta #opensource. Hemos lanzado NUEVO CURSO!! 🚀 🆕🛰️ Curso de #DDD en #TypeScript: Comunicación entre #microservicios y aplicaciones https://bit.ly/ddd-en-typscript 🧹 Estamos preparando un curso de Refactoring UI, dónde veremos cómo refactorizar un proceso de alta utilizando patrones #ux y buenas prácticas de #diseño de interfaz https://bit.ly/interes-refactor ﹤🍍﹥ CodelyTV ├ 🎥 Suscríbete: https://youtube.com/c/CodelyTV?sub_co... ├ 🐦 Twitter CodelyTV: https://twitter.com/CodelyTV ├ 💡 Twitter Alonso: https://twitter.com/alotor ├ 💡 Twitter Ester: https://twitter.com/Estercilia ├ 🎸 Twitter Carmen: https://twitter.com/carmenansio ├ 📸 Instagram: https://instagram.com/CodelyTV ├ ℹ️ LinkedIn: https://linkedin.com/company/codelytv ├ 🟦 Facebook: https://facebook.com/CodelyTV └ 📕 Catálogo cursos: https://bit.ly/cursos-codely
Vamos a analizar los code smells y vamos a refactorizarlos para que quede un codigo sostenible, mantenible y escalable. Todo pasito a pasito viendo trucos de programación por el camino. Este directo es la segunda parte del de 5 reglas del Código Sostenible: https://www.youtube.com/watch?v=my17Y9z5gB0 ﹤🎙️﹥ Invitados ├ María Soria (desarrolladora en LeanMind): https://twitter.com/marietait3 ├ Carlos Blé (director de LeanMind): https://twitter.com/carlosble ├ LeanMind: https://twitter.com/leanfulness_es └ Libro Código Sostenible (descuento: "CODELY10"): https://savvily.company.site ﹤🔖﹥ Cursos relacionados ├ 🧱 Principios SOLID aplicados: https://pro.codely.com/library/principios-solid-aplicados-36875/about ├ 🧼 Refactoring de Code Smells a Clean Code: Bloaters: https://pro.codely.com/library/refactoring-de-code-smells-a-clean-code-bloaters-62290/about ├ 🧹 Refactoring de Code Smells a Clean Code: Change Preventers: https://pro.codely.com/library/refactoring-de-code-smells-a-clean-code-change-preventers-70287/210883/about/ ├ 🏭 Patrones de Diseño: Creacionales: https://pro.codely.com/library/patrones-de-diseno-creacionales-167860/359848/about/ └ ♻️ TDD: Test-Driven Development: https://pro.codely.com/library/tdd-test-driven-development-179143/402180/about/ ﹤🍍﹥ CodelyTV ├ 🎥 Suscríbete: https://youtube.com/c/CodelyTV?sub_confirmation=1 ├ 🐦 Twitter CodelyTV: https://twitter.com/CodelyTV ├ 💂🏾‍♂️ Twitter Rafa: https://twitter.com/rafaoe ├ 📸 Instagram: https://instagram.com/CodelyTV ├ ℹ️ LinkedIn: https://linkedin.com/company/codelytv ├ 🟦 Facebook: https://facebook.com/CodelyTV └ 📕 Catálogo cursos: https://bit.ly/cursos-codely
Analizamos 5 ejemplos de código donde la gente de LeanMind nos ayuda a identificar lo que han denominado como reglas de Código Sostenible. Al fin y al cabo, conceptos que orbitan alrededor de Clean Code y que nos ayudan a conseguir un código fácil de mantener 😊 Veremos código y hablaremos de cómo aplicar este tipo de buenas prácticas para seguir mejorando y desarrollemos aplicaciones y webs que sean fáciles de entender y modificar 🤟 ﹤🎙️﹥ Invitados ├ María Soria (desarrolladora en LeanMind): https://twitter.com/marietait3 ├ Adrián Ferrera (desarrollador en LeanMind): https://twitter.com/adrianferrera91 ├ Carlos Blé (director de LeanMind): https://twitter.com/carlosble ├ LeanMind: https://twitter.com/leanfulness_es └ Libro Código Sostenible (descuento: "CODELY10"): https://savvily.company.site ﹤🔖﹥ Cursos relacionados ├ 🧱 Principios SOLID aplicados: https://pro.codely.com/library/principios-solid-aplicados-36875/about ├ 🧼 Refactoring de Code Smells a Clean Code: Bloaters: https://pro.codely.com/library/refactoring-de-code-smells-a-clean-code-bloaters-62290/about ├ 🧹 Refactoring de Code Smells a Clean Code: Change Preventers: https://pro.codely.com/library/refactoring-de-code-smells-a-clean-code-change-preventers-70287/210883/about/ ├ 🏭 Patrones de Diseño: Creacionales: https://pro.codely.com/library/patrones-de-diseno-creacionales-167860/359848/about/ └ ♻️ TDD: Test-Driven Development: https://pro.codely.com/library/tdd-test-driven-development-179143/402180/about/ ﹤🍍﹥ CodelyTV ├ 🎥 Suscríbete: https://youtube.com/c/CodelyTV?sub_confirmation=1 ├ 🐦 Twitter CodelyTV: https://twitter.com/CodelyTV ├ 🧔🏻 Twitter Javi: https://twitter.com/JavierCane ├ 📸 Instagram: https://instagram.com/CodelyTV ├ ℹ️ LinkedIn: https://linkedin.com/company/codelytv ├ 🟦 Facebook: https://facebook.com/CodelyTV └ 📕 Catálogo cursos: https://bit.ly/cursos-codely #CleanCode #CódigoSostenible #CódigoLimpio
Analizamos el repositorio con el que puedes arrancar un proyecto de 0 en #TypeScript listo para aplicar todos los patrones de #DomainDrivenDesign. Cuidaremos desde la estructura de directorios para que el planteamiento escale a medida que añadimos Bounded Contexts y módulos, hasta las distintas herramientas de testing que usaremos para cada tipología de test, pasando por pequeñas joyas como Helmet 😊 Fer Vilas es desarrollador en Audiense, gente TOP que trabajan con volúmenes de datos brutales aplicando proyecciones de datos para los distintos bounded contexts, eventos de dominio, y demás patrones de DDD 🔷 Este video es parte del Curso de DDD en TypeScript 👉 https://bit.ly/ddd-curso 🐙 Esperamos que con la utilidad que presentamos, el template repository de DDD en TypeScript puedas levantar tu nueva app en menos de 5 minutos: 1️⃣ https://github.com/CodelyTV/typescript-ddd-skeleton 2️⃣ https://github.com/CodelyTV/typescript-ddd-example Otros cursos relacionados: 👉 De JavaScript a TypeScript bit.ly/js-curso 👉 Curso de Refactoring: Change Preventers https://pro.codely.tv/library/refactoring-de-code-smells-a-clean-code-change-preventers-70287/210878/about/ 👉 Curso de SOLID https://pro.codely.tv/library/principios-solid-aplicados-36875/77070/about/ {▶️} CodelyTV ├ 🎥 Suscríbete: https://youtube.com/c/CodelyTV?sub_confirmation=1 ├ 💡 Twitter Fer: https://twitter.com/fer_vilas ├ 🐦 Twitter CodelyTV: https://twitter.com/CodelyTV ├ 🧔🏻 Twitter Javi: https://twitter.com/JavierCane ├ 📸 Instagram: https://instagram.com/CodelyTV ├ ℹ️ LinkedIn: https://linkedin.com/company/codelytv ├ 🟦 Facebook: https://facebook.com/CodelyTV └ 📕 Catálogo cursos: https://bit.ly/cursos-codely
Tras haber aplicado Golden Master, ya con nuestro código cubierto con tests de caracterización, en este video refactorizamos e introducimos una nueva funcionalidad con TDD. Usamos una estrategia en la que aislamos el código a modificar con técnicas de refactoring como Extract variable, Extract Method y Extract class. La hemos denominado estrategia Hit&Run, ya que nos olvidamos de refactorizar todo el código que hay alrededor. ♻️ Este video es parte del Curso de TDD 👉 https://bit.ly/ctv-tdd Otros cursos relacionados: 👉 Curso de Refactoring: Bloaters https://pro.codely.tv/library/refactoring-de-code-smells-a-clean-code-bloaters-62290/176553/about/ 👉 Curso de Refactoring: Change Preventers https://pro.codely.tv/library/refactoring-de-code-smells-a-clean-code-change-preventers-70287/210878/about/ 👉 Curso de SOLID https://pro.codely.tv/library/principios-solid-aplicados-36875/77070/about/ 👉 Curso de IntelliJ https://pro.codely.tv/library/exprimiendo-intellij-idea-49135/104101/about/ {▶️} CodelyTV ├ 🎥 Suscríbete: https://youtube.com/c/CodelyTV?sub_confirmation=1 ├ 🐦 Twitter CodelyTV: https://twitter.com/CodelyTV ├ 🧔🏻 Twitter Javi: https://twitter.com/JavierCane ├ 👨🏻‍🌾 Twitter Dani: https://twitter.com/dsantaka ├ 📸 Instagram: https://instagram.com/CodelyTV ├ ℹ️ LinkedIn: https://linkedin.com/company/codelytv ├ 🟦 Facebook: https://facebook.com/CodelyTV └ 📕 Catálogo cursos: https://bit.ly/cursos-codely
Este panel de discusión es sobre Java. Ponentes: Nacho Cougil - Senior Software Engineer | Java Champion - Dynatrace Anyul Rivas - Senior Software Engineer - Roche Alejandro Moleiro - Platform Engineering Manager - Adevinta Christian Ciceri - Software Architect - Apiumhub Cristina Verdi - Founder - Code Sherpas Temas cuebiertas: - Solid principles - Java Architecture - Docker - DDD - TDD - Legacy Code - Refactoring El público también ha participado, haciendo preguntas, discutiendo cosas.
Everyone claims that they are doing products in an agile, user oriented way. And yet, the majority of the products are still not welcomed by customers after being released. There is a huge gap between what we think it means to be user oriented and actually been user oriented. In this talk I will present my personal methodology that I have developed during the last 9 years that helped me to build multiple highly successful products and services. The framework contains of the following pillars: Identify the problem, problem should be: * Real customer problem *Problem that is top priority for the customer Identify the solution: * Is this the simplest solution for the problem? * Is it easily integratable with the current customer infrastructure? * Solves a problem that will exist (and will remain primary problem) by the time it is delivered * Easily pluggable in the existing customer’s infrastructure * Cost of adopting the product should be smaller (ideally: drastically lower) than the benefits that customer will get Execute: * Do not aim to deliver the solution, aim to onboard the customer * It is much simpler to deliver solution for one customer and generalize later than to deliver generic solution that can be used by at least one customer * The only criteria of success is onboarded customer We will show in detail how to build a team that executes in accordance with these principles, just some examples of key fundamental things: * Success of the product is everyone’s jobs * Engineers who are working on the product directly responsible to onboard the customer onto what they are building * Done-done-done is not when code is deployed to the production, it is when customer is using it While these are very common things that all of the managers/PM claiming to be doing there are many hidden traps when leaders are trying to do this, just some of them: * This process is about incremental changes, my product is revolutionary. * We have this amazing tool/technology/solution, let’s find the problem that it can solve for our customers. * I have validated the problem, therefore my solution is also validated. * I put the word “user” in my goal and therefore now it is a user oriented goal. * Different user audience for validating the problem and building the product for. It is very simple to pitch a free product to the students and ask if they will be using it for free, it is a completely different thing to sell the same product for money to a CTO. * Ignoring the last mile of integration. *Sticking to the original plan/scope while user’s problems clearly have changed We will also discuss how to start transitioning an organization into this mode, how to start refactoring the engineering team and whole organization, what should be the concrete first steps, like: * Do a revision of the roadmap: * put a concrete problem next to the feature * Re-evaluate problems * Stack ranked problems (instead of feature) * Refactor incentives for eng team to start onboarding customers (solving problems for the customers) instead of just delivering features. Introduce processes of building deep connections with the customers and collecting/evaluating their problems.
Many times we are told that refactoring is a tool to deal with legacy code. This is usually followed by a “practical” example of refactorings with hideous code that seldom would pass the laziest of code reviews. In this session, we’ll take a deep dive into what a refactor actually is. What tools and methodologies we can leverage to lower technical debt and increase legibility. To tackle unknown code bases; all whilst being productive. Session by Joaquin Azcarate, Backend Developer at Apiumhub