Refactoring JavaScript

ebook Turning Bad Code Into Good Code

By Evan Burchard

cover image of Refactoring JavaScript

Sign up to save your library

With an OverDrive account, you can save your favorite libraries for at-a-glance information about availability. Find out more about OverDrive accounts.

   Not today

Find this title in Libby, the library reading app by OverDrive.

Download Libby on the App Store Download Libby on Google Play

Search for a digital library with this title

Title found at these libraries:

Loading...

How often do you hear people say things like this? "Our JavaScript is a mess, but we're thinking about using [framework of the month]."

Like it or not, JavaScript is not going away. No matter what framework or "compiles-to-js" language or library you use, bugs and performance concerns will always be an issue if the underlying quality of your JavaScript is poor. Rewrites, including porting to the framework of the month, are terribly expensive and unpredictable. The bugs won't magically go away, and can happily reproduce themselves in a new context. To complicate things further, features will get dropped, at least temporarily.

The other popular method of fixing your JS is playing "JavaScript Jenga," where each developer slowly and carefully takes their best guess at how the out-of-control system can be altered to allow for new features, hoping that this doesn't bring the whole stack of blocks down. This book provides clear guidance on how best to avoid these pathological approaches to writing JavaScript:

  • Recognize you have a problem with your JavaScript quality.
  • Forgive the code you have now, and the developers who made it.
  • Learn repeatable, memorable, and time-saving refactoring techniques.
  • Apply these techniques as you work, fixing things along the way.
  • Internalize these techniques, and avoid writing as much problematic code to begin with.
  • Bad code doesn't have to stay that way. And making it better doesn't have to be intimidating or unreasonably expensive.

    Refactoring JavaScript