使用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集单集
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集单集
Kaikki jaksot
×欢迎使用Player FM
Player FM正在网上搜索高质量的播客,以便您现在享受。它是最好的播客应用程序,适用于安卓、iPhone和网络。注册以跨设备同步订阅。