Hacker News new | ask | show | jobs
by okl 1616 days ago
I worked with both, 'architecture astronauts' (lol!) and shit-coders. I'd prefer there to be a balance. Code has quality can be measured in more than just one dimension. It's fine if code works, but it's even better if you know how. (No obvious errors vs. obviously no errors)
3 comments

Reliable but bad old code becomes the piece labeled "do not touch" and can spawn bad code around it. By itself it never gets worse but it might be like the broken window theory of a code base.
In case you haven't heard of it before, that term comes from this blog post, quite a good read!

https://www.joelonsoftware.com/2001/04/21/dont-let-architect...

> Code has quality can be measured in more than just one dimension.

Well, if you don't need to change it (like the GP), most dimensions are moot. We used to call that "maturity", but the entire concept is out of fashion nowadays.

What leads to a correct architecture being probably the most relevant one by a long shot. Because a good architecture is a hard requirement for parts of your code to stop changing (the other being requirements maturity, that is not a dimension of code quality).

But yes, before reaching maturity, there are many dimensions of quality you may want to optimize for, and they conflict between themselves. Also, architecture astronauts get this name because they don't create good architectures, so you don't want them designing it anyway.

> Well, if you don't need to change it (like the GP), most dimensions are moot. We used to call that "maturity", but the entire concept is out of fashion nowadays.

Isn't that how you get ancient COBOL monoliths running on mainframes which everyone is afraid to touch?

Do you not need to touch it or are you afraid to touch it? Those things are different.
Pretty sure it's "afraid to touch it".

Haven't you heard horror stories about complete hackery and shitshow (sometimes not even code, but actual company processes) built around them because fixing it might as well have become impossible?

Well, I'd say that being afraid to touch some code is a pretty important quality dimension, one that is not moot by not needing changes.