Hacker News new | ask | show | jobs
by darawk 3223 days ago
I think the problem here is that 'clean' is an umbrella term for a bunch of different things. To sum them it is: 'how does this code make me feel inside'. But what goes into that are: readability, extensibility, maintainability, testability, clarity, correctness, simplicity, and yes, aesthetics. Some of these are objectively always good, and some of them are contingently good.

For instance, a simple algorithm for distributed consensus is probably not correct, and you should rightly not view it as 'clean'. Some things simply aren't simple. The goodness of simplicity is contingent on the complexity of the problem.

But aesthetics is at the final end of the spectrum: it's purely subjective. And yet we wrap all these things up under the term 'clean', and so it is confusing. People will defend their notion of cleanliness using the objective standards, and then apply it to the subjective cases.