Vai offline con l'app 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 episodi
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 episodi
ทุกตอน
×Benvenuto su Player FM!
Player FM ricerca sul web podcast di alta qualità che tu possa goderti adesso. È la migliore app di podcast e funziona su Android, iPhone e web. Registrati per sincronizzare le iscrizioni su tutti i tuoi dispositivi.