Episode 28: Clean Components with Michael Thiessen
Welcome to Enjoy the Vue! Today, we have special guest, Michael Thiessen, a developer at Vidyard. He also writes a lot about Vue on his blog and creates courses and videos. We will find out how Michael got started with Vue and what his motivation was. We will discuss reusable components, what it means to have a clean versus a reusable component, gold plating, Dunning-Kruger effect, and when to use provide and inject.” Chris gives a really useful tip on what he does when he refactors components. Have you heard of “The 6 Levels of Reusability?” Download this episode now to find out more!
Show Notes
[00:00:45] Michael talks about his blog and how he got started with Vue, what his motivation was, and what his first blog post was about.
[00:03:21] Reusable components is discussed as well as the biggest pain points that people run into when creating reusable components and what people responded most to.
[00:08:16] Tessa asks Michael how would we know when you would reach for something like this inheritable slot in slot solution, since it his recent newsletters he talks about the idea of 6 levels of reusability and is this a tool that developers can use? He also tells us what the process was like to identify the architecture patterns and how he came up with that.
[00:10:02] Michael tells what it means it means to have a component that is clean versus a reusable component.
[00:14:50] Tessa wants to know how Michael comes up with his ideas and she refers to talk he did at VueConf Toronto 2019.
[00:16:38] Chris asks Michael what patterns he’s used in the past that he most regrets. He also tells us why middleware was such a headache after he implemented it.
[00:19:53] Michael tells us the component he’s been responsible for that he’s regretted the most. He mentions a blog post he wrote about this. He also mentions the gold plating syndrome.
[00:27:19] Tessa asks Michael if she was a developer coming into a project and thinking I want to build a library, how do I decide what works for me or how do I find a balance there?
[00:33:19] Chris gives us a really useful tip when he refactors components.
[00:42:53] Tessa wants to know when Michael’s blog post will come out about when to use provide and inject and how it’s different from dependency injection.
[00:47:30] We wrap up here by finding out where you can find Michael on the internet.
Picks of the week:
[00:48:56] Ari’s pick is a show called Floor is Lava on Netflix.
[00:49:36] Ben has two picks: Clean Components Course by Michael Thiessen and a blog post called, “Zettelkasten-How One German Scholar Was So Freakishly Productive.”
[00:51:59] Chris’s pick is Amazon Prime Wardrobe.
[00:53:49] Michael’s pick is Kobo e-reader.
[00:56:00] Tessa has three picks: Foam, Eurovision Song Contest: The Story of Fire Saga, and TwoSet Violin.
Resources mentioned:
Michael Thiessen-Twitter
Michael Thiessen
Michael’s Medium Blog Post-“Checklist for Writing Highly Reusable Components in React and Vue.”
“The Paradox of Abstraction: When Good Code is Bad Code” by Michael Thiessen
Dunning-Kruger effect
Gold plating (project management)
Provide/Inject Have Nothing to Do With Dependency Injection by Michael Thiessen
Floor is Lava-Netflix
Clean Components Course by Michael Thiessen
Zettelkasten-How One German Scholar Was So Freakishly Productive
Amazon prime wardrobe
Kobo e-Reader
Foam
Eurovision Song Contest:The Story of Fire Saga
TwoSet Violin
Special Guest: Michael Thiessen.