▲ | skydhash a day ago | ||||||||||||||||||||||||||||||||||
I’m talking more about architecting code instead of naively writing them. The same point can be made about libraries but the considerations are more subjective. Most naive approaches to writing software looks like assembly. But instead of opcodes, you have libraries functions. But we move away from assembly and assembly like programming because it’s essentially one shot. Any modification to the program is difficult and/or tedious. So instead of having that one blob of instructions, we introduce gaps so that it becomes more flexible. We have functions, objects, modules… but the actual links between them still needs to be shaped. A library can have some influence on the shape, but it is minor if you favor the solution over the means. But sometimes you see people really going hard to fill the gaps of the shape, and that’s when you start to shout KISS and YAGNI. Sometimes they want to alter the shape and you bring out SOLID and other principles… | |||||||||||||||||||||||||||||||||||
▲ | lukan a day ago | parent [-] | ||||||||||||||||||||||||||||||||||
"I’m talking more about architecting code instead of naively writing them." Yeah, we are talking about code designing. And I got my head filled with all the design patterns back then in university, but my first bigger real world projects were somehow horribly overengineered and still unflexible. And I don't think it was just lack of experience. Nowdays I prefer a very, very simple and clear approach. No dark empty space I want to design around. No clever hidden layers, that prevent the introduction of a pragmatic new API. I guess I get what you probably mean and it ain't that, but to me it has too much of the vibe of the time when I was amazed at myself for coming up with a seemingly super clever (complex) design, that sounded great in theory. | |||||||||||||||||||||||||||||||||||
|