Re:Absolute truths I unlearned as junior developer (2019)
by userbinator on Monday June 06, 2022 @12:41AM
(#31637301)
I blame this tendency to overabstract on the emphasis on top-down design / teaching methods. Beginners are taught to abstract whenever possible, and aren't taught when to stop. They don't see the reason behind it, and instead add abstractions dogmatically, dramatically increasing complexity in the process. When abstraction is used well it definitely decreases effort and increases flexibility, but all too often it's overused and results in "object-oriented obfuscation" instead.
[ Parent
| on HN ]
Re:Absolute truths I unlearned as junior developer (2019)
by tempodox on Monday June 06, 2022 @05:17AM
(#31638515)
An approach that has been working for me is to work bottom-up. Think about what basic functionalities you need, and start implementing them. Once they work properly, you can start composing an orchestrating them to larger units. That way you're less prone to build Babylonian towers of superfluous abstractions and indirections. Doing it in a way that's maintainable and extensible should come with experience.
Re:Absolute truths I unlearned as junior developer (2019)
by watwut on Monday June 06, 2022 @03:08AM
(#31637942)
I dont know ... way more common problem I see is unwillingness to abstract. Spaghettis are way more frequent than massive abstractions. Now the popular thing is move toward functional-like style, which leads to one stream of flow that is quite difficult to decipher.
Re:Absolute truths I unlearned as junior developer (2019)
by _gabe_ on Monday June 06, 2022 @08:22AM
(#31639565)
> which leads to one stream of flow that is quite difficult to decipher.
By the definition of one stream of flow, this is literally easier to follow lol. One stream of flow as opposed to what? Several streams that branch and intermingle? Spaghetti is several intermingling branching streams which is very hard to follow. Following one stream is easy, you just follow the stream /shrug
Re:Absolute truths I unlearned as junior developer (2019)
by watwut on Monday June 06, 2022 @01:16PM
(#31643109)
No it is not easier to follow practically. Second, definition "stream of flow" is not "easier to follow". It is "one steam of code". It forces you to have all the ifs and for in head all the time and does not explains what those means.
Yes, opposed to named structures you can understand in isolation and then treat as units.