liralen: Finch Painting (Default)
[personal profile] liralen
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
- Martin Fowler in Refactoring: Improving the Design of Existing Code


This is cool stuff. As long as I've been a software engineer, it's been assumed that software designs die off quickly. My ten-year-old system is seen as a dinosaur that is better off dead, and perhaps rightfully so, so much stuff has been hacked into it to fit the new requirements we've been given. A software system can't change as quickly or as easily as the real world it's supposed to emulate, and even the best started design can't take into account all the changes that marketing, users, and even the developers themselves want to incorporate into it. It goes with the assumption that all good software starts with a good design, which is then implemented into code.

This book presents the tools with which one can redesign an existing system, given new requirements, and make it not only 'just work' with the new requirements (otherwise known as "the hack") but makes the design and structure of the system fit the additional code. It can even take badly design code and make a happier future for the designers that have to work on it. That's where it's so cool. I can't believe how many times I've heard about old systems that were quickly cobbled together and how terrible they are to work on. Usually that signals a time for the old code to 'die' and a new replacement be written from scratch, which is then followed by much screaming and tears from end users who have to learn a whole new system or have some favorite functionality that now either works entirely differently or doesn't do what it used to do.

With the tools in this book, it's now possible to just keep evolving and make the evolved code cleaner than it used to be. Yowza.

March 2025

S M T W T F S
      1
2345678
910 1112131415
16171819202122
23242526272829
3031     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 19th, 2025 10:29 am
Powered by Dreamwidth Studios