iteration cover image

iteration

Refactoring - In Practice

Mar 25, 2019
34:53

In this episode we dive deep into some specific refactors from Refactoring 's Chapter 1. We talk about renaming things, extracting functions, functions, replacing a temp with query and some other hot tips and tricks you can put into your code today.

This episode walks through specific code examples from Chapter 1 of Martin Fowler's Refactoring...

Some of the refactors

Change Function Declaration

  • Rename things
  • Names are hard
  • A few general categories of things you can name
    • predicate? - Should only return true / false - Javascript start with is - ruby question mark - so isValidPhone(number)
    • In Ruby - ! For destructive / dangerous actions - update_recent_activity! - name destructive actions or actions with side effects really well.
    • Formatting? - use - as - number_as_phone(number) or to to_bmi(user.weight, user.height)

Extract Function

Replace temp w/ query

  • Extending this example:

Instead of:

accounts = get_accounts(user)
transactions = get_transactions(accounts)

we can just do:

transactions = get_transactions(get_accounts(user))

Replace conditional with polymorphism

Notification.deliver! example

Picks

  • JP: Thanos JS - https://thanosjs.org/
  • John: Loom https://www.loom.com/ - and http://www.telestream.net/screenflow/overview.htm

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode