The parts of SOLID I disagree with are the S, the O, the L, the I, and the D :) In general I think it is mostly focused on completely incorrect ideas that are at best tangential to the actual ideas you want, at worst opposite to them.
-
-
Replying to @cmuratori @MartinTittensor
For a better set of "rules of thumb" for library design than SOLID please see my API design lecture here:https://www.youtube.com/watch?v=ZQ5_u8Lgvyk …
3 replies 0 retweets 8 likes -
Replying to @cmuratori @MartinTittensor
I'm enjoying all your content these past weeks. In this lecture you seem somewhat aligned with SOLID on the importance of avoiding coupling. When you criticize ReadFile bundling reading file w/ interpreting it into an object it kind of makes me think of Single responsibility
1 reply 0 retweets 0 likes -
I think if you saw what the average web developer puts out before learning SOLID principles you might self immolate.
1 reply 0 retweets 0 likes -
But I also see SOLID being over-applied to great detriment. I want to take more away from your lectures for my work in web dev but I find it hard to map a lot of the concepts back to that space. I found the WARMED concept more portable than the principles in this lecture.
1 reply 0 retweets 0 likes -
Replying to @gordon_cassie @MartinTittensor
WARMED was just my attempt to say "this is what everything should come back to", so hopefully it is applicable everywhere. The API design lecture was specifically to a game development audience, so it doesn't include the necessary explanation for people used to web.
1 reply 0 retweets 3 likes -
Web is a particularly bad architecture in general, so I think in order to really talk about good API design principles, you first have to explain all the ways that the general architecture of the web obscures good API design in the first place, etc.
2 replies 0 retweets 2 likes -
Replying to @cmuratori @MartinTittensor
That might be fair criticism but to make progress realistically you can't just throw the entire ecosystem out and start from scratch. I also think there are some major differences between web and games which need to be accounted for when mapping over your coding philosophies
2 replies 0 retweets 0 likes -
Replying to @gordon_cassie @MartinTittensor
Sure you can. We will shortly be shipping our own web client and web server and I applied all the principles I always do, and wrote the code the same way. Good code is good code. It doesn't matter where you write it.
1 reply 0 retweets 3 likes -
Replying to @cmuratori @MartinTittensor
Exciting - that will be very interesting. For those working on a mature product stuck on an existing tech stack (which is huge amount of web developers) it would be helpful to find ways to draw on your philosophies within those constraints.
1 reply 0 retweets 0 likes
All I can really say is that your assumption these principles don't apply is an illusion. No matter where you are, or what you are coding, you can always apply these principles.
-
-
Replying to @cmuratori @MartinTittensor
I'm not arguing they don't apply. But if I was working in C++ writing a game engine I could take your examples and map them directly onto my work the next day. To do apply your principles in my work, I need to do some extrapolation to figure out what they mean for my work.
1 reply 0 retweets 0 likes -
Two concrete examples, is I exclusively work in gc'd languages. So when you have examples of good APIs offering granular options for who measures memory and how, I'm not sure what that means for the code I write.
1 reply 0 retweets 0 likes - Show replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.