Refactoring is making code better. We all want to make things better. Making thing better makes us feel good.
We watched Therapeutic Refactoring by Katrina Owen to see what pointers she could give about making things better. Turns out, quite a few. She tells a story about a horrible block of code from an untested segment of a legacy application.
Legacy applications are talked about by programmers with a mix of anxiety and apprehension. If a legacy application has no tests you never know if a change you made just broke something you haven't noticed. At Resolve when we pick up a client with an existing codebase there's a chance it will be one of those legacy applications with no tests.
Fortunately, Katrina lays out, step by step, how to add tests to a legacy application that will tell you what the application currently does. Once you have these not only can you develop new features without fear, you can start refactoring!
Katrina walks through refactoring her example code. She finished the story by discusses removing "codejunk," bits of code that don't do anything and make it hard to understand what other code does. Next comes the moral of the story, why refactoring makes us feel good; it gives us back our brains and stops us panicking. When we aren't panicking we write better code for the future.
Refactoring makes existing and future code better, clearly a good programming and business practice.
Join The Conversation
More On The Blog
Are Spree sites meeting Google’s page speed standards?
A study of 680 sites built on the Spree OS platform reveals nearly all are mobile friendly, but only a handful achieved a mobile speed score high enough to be considered by Google as performing well.
Barry Harrison — Sep 12, 2016
Machine Learning and eCommerce Talk at SolidusConf
I recently spoke at SolidusConf about Machine Learning and eCommerce
David Jones — Jun 14, 2016
Top 7 Product Recommendation Options
Top 7 Product Recommendation Options Ranked by Revenue Generation
Barry Harrison — May 31, 2016
Get every post in your inbox (see sample)