Defining “Good” in Software

What makes software “good”? When developers look at a design or a piece of code, how do they determine if it’s well written? What are the things they look for?

When I ask developers these questions, I rarely get a consistent answer. For some people, “good code” must be fast and efficient. For others, it must be easy to read and understand. Still others say it must be bug free.

These are all good things, but how do we achieve them? And when we have to trade one thing for another, where do we draw the line? These can be hard questions that don’t often get asked, but they can affect how managers and software developers alike work on a daily basis.

The external qualities that the customer experiences—usability, lack ...

Get Beyond Legacy Code now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.