Jeff Croft makes a case for modularizing css files to have a cleaner working environment in on aplying oop concepts to css. The article raises a good point and should be read with the comments(especially #66 by Jeff W. - which is better than the article itself).
The OOP concepts I was specifically referring too are mostly around inheritance, co-reuse, and the Don’t Repeat Yourself (DRY) principle. Think subclassing, mix-ins, etc. Clearly, CSS doesn’t provide this kind of syntactic sugar, and it’s very debatable whether it should or not. The W3 is strongly against even adding variables (or constants) to CSS. I personally am in favor of variables in CSS, but would be against adding much logic to the language.
There are no best practices emerging for css management that I've seen. Frameworks like Blueprint of 960 try to create some conventions for how to write and manage stylesheets, but the downsides reek. Solutions like css systems by Natalie Downe feel like reinventing the wheel for every project.
The main problem is that it's not cleaner than the inline style monster
The solution
My solution is a
#header
+grid(4, 12)
+alpha
+grid-prefix(1, 12)
+grid-suffix(2, 12)
More details: Intridea Company Blog: SASS: The Better, More Powerful CSS
But Jeff's problem is:
[..] is simply that most designers and CSS authors aren’t programmers. What’s more, most of them don’t want to be programmers. As soon as you start talking about mix-ins, subclassing, and passing arguments, their eyes roll into the back of their head.
Wait! Shouldn't front-end developers know javascript by now? And javascript is a real programming language. Compared to the complexity of javascript, SASS is child's play. If you know javascript you can learn SASS, and you should. There is no excuse for not wanting to be better, more efficient and happier. That means being a professional. Pulling the "not my job" card is the shortest way to mediocrity.