Most of these strike me as being personal preference, well, to my eyes.
I’m sure it depends on the size of the team, and the project being worked on, but I have never been in a situation where putting all of the (button styles) together would seem like a good idea.
I also want to add my own ‘css smell’ that I have come across a bunch of times:
Is that data you are adding?
Go ahead and add an inline style!
I’d much prefer to see an inline styled background-image for something specific. This also goes for things like pseudo elements. Use an element attribute and reference it!
To clarify, I posted this mostly for discussion. A lot of his points, to me, are personal preference. Some of it only applies if you subscribe to the BEM mindset. What do you guys think?