Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Third-Party or Custom Code? The Art of Software Decisions

Third-Party or Custom Code? The Art of Software Decisions

Do you often find yourself struggling with deciding whether to use a third-party library or write custom code? In this talk, we'll dive into the challenges and benefits of both approaches and provide practical tips for making informed decisions. You'll learn how to weigh the pros and cons of each option, consider architectural decisions, and create better products and apps.

Glenn Reyes

February 14, 2023
Tweet

More Decks by Glenn Reyes

Other Decks in Programming

Transcript

  1. Vincent van Gogh “Great things are done by a series

    of small things brought together.” @glnnrys
  2. The Paradox of Choice Selecting speakers for the conference 🤩

    Amount of proposals 🫠 Sweet spot 1000 30 0
  3. 🤩 Amount of proposals 🫠 Sweet spot 0 40 30

    The Paradox of Choice Selecting speakers for the conference
  4. 🤩 Amount of proposals 🫠 Sweet spot 0 90 30

    The Paradox of Choice Selecting speakers for the conference
  5. // $(el).toggleClass(className) function toggleClass(el, className) { if (el.classList) { el.classList.toggle(className);

    } else { var classes = el.className.split(' '); var existingIndex = classes.indexOf(className); if (existingIndex >= 0) classes.splice(existingIndex, 1); else classes.push(className); el.className = classes.join(' '); } } youmightnotneedjquery.com @glnnrys
  6. // $(el).toggleClass(className) function toggleClass(el, className) { if (el.classList) { el.classList.toggle(className);

    } else { var classes = el.className.split(' '); var existingIndex = classes.indexOf(className); if (existingIndex >= 0) classes.splice(existingIndex, 1); else classes.push(className); el.className = classes.join(' '); } } } else { var classes = el.className.split(' '); var existingIndex = classes.indexOf(className); if (existingIndex >= 0) classes.splice(existingIndex, 1); else classes.push(className); el.className = classes.join(' '); } @glnnrys
  7. // $(el).toggleClass(className) function toggleClass(el, className) { if (el.classList) { el.classList.toggle(className);

    } else { var classes = el.className.split(' '); var existingIndex = classes.indexOf(className); if (existingIndex >= 0) classes.splice(existingIndex, 1); else classes.push(className); el.className = classes.join(' '); } } } else { var classes = el.className.split(' '); var existingIndex = classes.indexOf(className); if (existingIndex >= 0) classes.splice(existingIndex, 1); else classes.push(className); el.className = classes.join(' '); } 🧐 @glnnrys
  8. “ ” Kent C. Dodds We should be mindful of

    the fact that we don't really know what requirements will be placed upon our code in the future. @glnnrys