4 ms·
100% agree with you. I stopped reading after this statement: >when you get into a situation where one of the buttons needs to have slightly more margin-top tha
by SamuelAdams 8y ago
100% agree with you. I stopped reading after this statement:
>when you get into a situation where one of the buttons needs to have slightly more margin-top than the others, then it's easy to fix.
It's easy to fix in "regular" css too: just add style="margin-top: 10px;" to the button.
If this is really a one-off situation, then that is totally fine. Functional CSS feels like over-engineering an already-solved problem.
- dagenix 8y agoI really hate the phrase "over-engineering". My oppinion is that at this point, its is nothing more than a fancy way to say - "I think this is bad" (or sometimes worse: "I don't understand this, and since I don't understand it, it must be bad"). And this is a great example of that theory. If one had to apply the terms "over" or "under" to describe the engineering of the practice the article describes, it seems like "under engineered" would be the more apt description. This is pure brute force programming and design.
- sam0x17 8y agoThe point of this, imo, though, is instead of having a designer design a bunch of components, you have a designer design a bunch of functional styles that can compose components and still be on-brand. So say you have a component, and you want to add an on-brand/in-style shadow to it, you just add the small-shadow class, instead of digging through the css of other components and copy-pasting their lengthy shadow css. I would use this mainly for shadows, fonts, and margins.
- dsego 8y agoYou totally ignore design systems here. Similar to color palettes you want named styles for consistency and to show purpose (e.g. margin-small, margin-large, etc). Hardcoding margin:10px throws all that away.