
Refactoring Wrap Up & Summary
Explicit content warning
07/15/19 • 35 min
Iteration Podcast S06E08
A weekly podcast about programming, development, and design through the lens of amazing books, chapter-by-chapter.
Work Stuff
- Work / Life separation
- Playing a lot with Vue JS - did an implementation on top of rails and loved it.
- Rivets JS
- Pre-built Sketch UI components (https://craftwork.design/)
- Refactoring UI (https://refactoringui.com/)
- Breaking things up! Learning more about technical design patterns.
Summary of "Refactoring"
- The Two Hats - Divide time between adding functionality and refactoring.
- Lots of Nested Functions read like a story
- Refactoring and performance
- Bad Smells
- Catalog of refactors / Catalog of patterns
- Patterns of Enterprise Application Architecture
- Decorator / Presenters (Displays Stuff)
- Query Objects (Looks for stuff)
- Service Objects (Does stuff)
- Gateway Object (Defines access)
- Mapper Object (Pricing Package) that associates customer lease and asset
Picks:
- Send later in Gmail
- Time Timer
- Angeles Crest Highway
Things mentioned
Craftwork design https://craftwork.design/
- Rivests JS
- Vue JS
Iteration Podcast S06E08
A weekly podcast about programming, development, and design through the lens of amazing books, chapter-by-chapter.
Work Stuff
- Work / Life separation
- Playing a lot with Vue JS - did an implementation on top of rails and loved it.
- Rivets JS
- Pre-built Sketch UI components (https://craftwork.design/)
- Refactoring UI (https://refactoringui.com/)
- Breaking things up! Learning more about technical design patterns.
Summary of "Refactoring"
- The Two Hats - Divide time between adding functionality and refactoring.
- Lots of Nested Functions read like a story
- Refactoring and performance
- Bad Smells
- Catalog of refactors / Catalog of patterns
- Patterns of Enterprise Application Architecture
- Decorator / Presenters (Displays Stuff)
- Query Objects (Looks for stuff)
- Service Objects (Does stuff)
- Gateway Object (Defines access)
- Mapper Object (Pricing Package) that associates customer lease and asset
Picks:
- Send later in Gmail
- Time Timer
- Angeles Crest Highway
Things mentioned
Craftwork design https://craftwork.design/
- Rivests JS
- Vue JS
Previous Episode

Building Tests
Chapter 4 - Building Tests
To do refactoring properly, I need a solid suite of tests to spot my inevitable mistakes.
The Value of Self-Testing Code
- make sure all tests are fully automatic and that they check their own results
- a suite of tests is a powerful bug detector that decapitates the time it takes to find bugs
If you want to refactor, you have to write tests
A First Test
- simplicity of feedback from tests. just dots
- personally like verbose test output
Add Another Test
Testing should be risk driven; remember, I'm trying to find bugs, now or in the future. Therefore I don't test accessor methods that just read and write a field. They are so simple that I'm not likely to find a bug there.
My focus is to test areas that I'm most worried about going wrong.
Probing the Boundaries
- Seeing what happens when things go wrong
Whenever I have a collection of something, ... I like to see what happens when it's empty
- What happens when negative numbers are passed to a function that expects positive numbers? Division by zero?
How do you probe boundaries?
Much More Than This
When you get a bug report, start by writing a unit test that exposes the bug
Picks
- JP: Taking time off
Next Episode

Career Development Roundtable: Getting Great Work in Tech
Iteration Season 06E09 - Release July 22nd 2019
A weekly podcast about programming, development, and design through the lens of amazing books, chapter-by-chapter.
Roundtable: Getting a Job in Tech
Between books - Discussion about career development in tech
Guest: John Rivera - Link?
John S to lead discussion -
Where do you work now? What do you do?
John S: Run an agency, we are a small team of remote developers, we do mobile apps and web apps.
John R: Just started working on Amazon photos mobile app for the prints feature team, I do cross-platform mobile development primarily using React Native. But I’ve also gotten to do my fair share of project management with ChefSteps, and am seeking to pursue that at Amazon
JP: Opendoor
Where did you start? Where were you before tech?
5mins each on origin story
John S: Dabbled in design + web for ever — I was working in the corporate world a job I didn’t love but I was successful. Stepped back and switched careers at November 2015 - switched career at 25
John R: I worked at uhaul and albertsons as a meat clerk. Started things off by saving up for a bootcamp. Did freelance.
JP: MySpace layouts in 9th grade, 13-14 years ago. Then web design until about 2015
What’s been a key practice or tool in moving your career forward?
John R: Networking, Diving deep, embracing things that aren’t in my domain
John S: Consistency, Keeping up with friendships (networking), Blogging, pushing outside comfort zone.
How do you balance getting work done now vs ongoing learning?
John S: Use new tools and techniques in the day to day
John R:
JP: Being proactive with code review and looking to senior engineers
How do you get a good Job in tech?
John S: Network, publishing, making your work visible, random blog post from 2016
John R:
JP: I got my job from meetups
What would you have told yourself 3 years ago?
John S: Consistency, life is a marathon not a sprint. Keep stretching yourself outside comfort zone. Focus on less, go deeper on less things.
John R:
JP: Take breaks, you won’t forget how to code if you take a day off
CLOSE - no picks
John R - Where can people find you?
If you like this episode you’ll love
Episode Comments
Generate a badge
Get a badge for your website that links back to this episode
<a href="https://goodpods.com/podcasts/iteration-225636/refactoring-wrap-up-and-summary-25584497"> <img src="https://storage.googleapis.com/goodpods-images-bucket/badges/generic-badge-1.svg" alt="listen to refactoring wrap up & summary on goodpods" style="width: 225px" /> </a>
Copy