Gå offline med appen Player FM !
Refactoring - In Practice
Manage episode 229976776 series 1900125
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
78 episoder
Manage episode 229976776 series 1900125
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
78 episoder
Alle afleveringen
×Välkommen till Player FM
Player FM scannar webben för högkvalitativa podcasts för dig att njuta av nu direkt. Den är den bästa podcast-appen och den fungerar med Android, Iphone och webben. Bli medlem för att synka prenumerationer mellan enheter.