3 ms·
Clean code is an ambiguous and subjective concept. Assuming you’re referring to the practices taught in the book, I disagree that it always delivers a higher v
by throwaway98121 8y ago
Clean code is an ambiguous and subjective concept.
Assuming you’re referring to the practices taught in the book, I disagree that it always delivers a higher value than messy code.
I worked with a code base recently that on the surface checks all the boxes, but honestly, the code was way over engineered for the problem it actually solves. The team itself was great at writing clean code, but they over indexed on it to the extent that they were paralyzed and couldn’t actually get anything out the door. Honestly, they don’t know how to deliver.
I would prefer a team or even one decent engineer who knows how to make trade offs. Instead of only optimizing your logic, also invest time to figure out how you’re rue going to deliver. Make sure there’s instrumentation and metrics. Load test your system and understand your dependencies and their limits. Do they need to scale too? What hardware do you need? If your traffic calculations are off and you have problems, how quickly will you be able to get back into your SLA... speaking of, what is the SLA? Have you built your run books? If dependency A fails or if this part of your architecture fails, what happens? Did we failure test? How many calls will this system get per second? Will it be sustained or bursts?
Thinking of software only as a code style optimization problem doesn’t work, unless you’re in an organization where developers are explicitly code monkeys.