با برنامه 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 قسمت
ทุกตอน
×به Player FM خوش آمدید!
Player FM در سراسر وب را برای یافتن پادکست های با کیفیت اسکن می کند تا همین الان لذت ببرید. این بهترین برنامه ی پادکست است که در اندروید، آیفون و وب کار می کند. ثبت نام کنید تا اشتراک های شما در بین دستگاه های مختلف همگام سازی شود.