4 ms·
I like to work together with open-minded smart people. Stuff like SOLID only matters if you don't.
by auggierose 9y ago
I like to work together with open-minded smart people. Stuff like SOLID only matters if you don't.
- vec 9y agoOh, come off it. Not every team gets to be made of 100% 10x supergenius ninja rock gods. And no one gets to be at their absolute best for every line of code they're ever going to write. Everyone, no matter how gifted, does a better job on average if the boring, obvious thing also tends to be the correct thing. Having some structure makes doing real work with real humans better, not worse. SOLID isn't an iron law, it's a heuristic. And a damn good one. "Open-minded smart people" can and will find reasons to bend and break the rule sometimes, and the more experienced one becomes the more readily they'll be able to see when the rules doesn't apply. That doesn't mean they're bad rules. Maybe I'm not open minded or smart enough, but I've seen plenty of codebases that adhered to some set of coherent architectural guidelines and codebases that didn't, and I know which subset I prefer to work on.
- auggierose 9y agoNo need to come off it. I don't mind working with mediocre people, but I do mind when they pester me with principles like SOLID, just because they don't understand good design when they see it. And, if you are working with great people, codifying good design into guidelines like SOLID is not necessary.
- SideburnsOfDoom 9y agoI would say that this is egotistical rubbish. As the saying goes "Learn the rules like a pro, so you can break them like an artist." In other words, good experienced people (if they are also open-minded and smart) aren't ignorant of these rules - they have practised the rules, internalised them and occasionally decide to deliberately bend or break them.
- auggierose 9y agoI’d argue if you started with these rules from the beginning, you are not much of an artist.
- SideburnsOfDoom 9y agoYou are welcome to try and make that argument. But in the context of computer programming, I don't think that idea is very coherent.
- auggierose 9y agoI won't make this argument for you, as you already seem very convinced that you are right. I know that I never gave much about these principles, they are fads that come and go. Get a math degree, and a computer science degree, and you won't need some made up principles you need to believe in like you believe in religion.
- SideburnsOfDoom 9y ago> Get a math degree, and a computer science degree Been there, done that. Also - I am open to positive cases being put forward, dismissive of angry rants and straw men arguments.