Recent comments in /f/InternetIsBeautiful

RockstarArtisan t1_ir52lwr wrote

This is not a programming subreddit, but I assume you're familiar with the subject.

The job of a book author and advice merchant is to convey their advice in a manner that people can follow. People who are bad at this shouldn't be selling the advice. In this case, the problem isn't the writing style, it's just that there's nothing behind it.

Have you seen how "principled" this principle is? The author struggles to come up with the description himself. In his videos he says stuff like "Single responsibility principle is actually not about single responsibility, it's about a single reason for change" (I guess he did change his blog to say it's both now). This is the vaguest shit possible. Basically, Martin is a boomer consultant, who makes up acronyms to sell his shit. He needed some rules to make a nice acronym, so he picked 5 things arbitrarily, one of these happened to be "make stuff simple, not complicated". This is clearly meaningless padding, so he needed to convert this rule to be something that people will think is insightful - he came up with "single responsibility" which is the same non-advice, just with more plausible deniability.

I'm tired of having to write the same shit over and over again whenever another person get's caught up in this and posts on the programming subreddits about it so here's my latest brief description: https://old.reddit.com/r/programming/comments/xvu3gc/solid_principles_sketches/ir3uhyx/

7

trekhleb OP t1_ir4wr7e wrote

If you mean the "Fit to screen" zooming feature it is there (bottom right corner).

But if you're talking not only about scaling but also about re-arranging the sketch elements based on the screen size (in a classing web-app manner), then yes, it doesn't work.

This is a bit challenging to do for the free-hand drawing of absolutely-positioned and scaled elements since the app might not have enough context of how to re-arrange. I.e. there is a free-form arrow that goes from the exact word of the sentence to the exact Attachment of the Mixer (it is not clear how to redraw it from horizontal to vertical form-factor).

−3

trekhleb OP t1_ir4w2ls wrote

I guess the illustration with the "Spoon" + "Fork" instead of the "Spoork" still works, doesn't it? I mean if you want to change the "Spoon" functionality you just change the "Spoon" but not touching the "Fork", whereas the "Spoork" is going to be changed for two different reasons: when we want to change either the "Spoon" functionality or the "Fork" one.

3

trekhleb OP t1_ir4ve77 wrote

Yes, that's true that going back and forth not always convenient. I was trying to find this balance between "Staying focused on one principle at a time" and "Having all info be easily accessible at glance". Probably I didn't find the perfect balance yet :D

But, there is also the extensibility aspect. With the current approach, I may add more details to each letter in the future while keeping the entry page still readable. Technically it is possible to even add more nested sub-sketches to each letter if needed

13

trekhleb OP t1_ir4uskq wrote

Yeah, the interactivity is pretty minimal, but it is still there in form of "Click to go deeper to the nested image with further details".

You're also right that all illustrations could be put on one page. But with the current approach, there is a possibility to add more details to the nested pages (to each S O L I D letter separately) without making the entry page bulky.

−4

Rwagstaff84 t1_ir4th5x wrote

Long time software developer and I get all these solid concepts but …. it doesn’t really change how I write code. I just write what I think is best based on experience. I never stop and think “does this meet the liskov substitution principle” or any of the other SOLID principles. Why is this brought up as the gold standard so much? Just seems like a way to claim you are a good coder because you “understand” solid. Is that just me? coding is so much more than just 5 generic concepts that you probably do almost always by default by following good patterns.

24

daedalus91 t1_ir4ij0a wrote

I've read the article. Can you elaborate on why is OP's example wrong?

So according to the article, it's all about the people requesting the changes. Spoon users try to use that spoork, and they realize it's not deep enough to spoon a soup. The developer redesigns it, makes the spoork deeper to enable it to spoon a larger amount of soup. Then the fork people try to stick their vegetables onto their spoork, but now due to the increased curvature of the spoork, it isn't straight enough, and the vegetables will fall apart and won't stick onto the spoork.

If you create a separate spoon and a fork, each user has their perfect tool.

9