Hmmm, I usually name it depending on functionality and when necessary add a location in it (header, footer, aside etc.), just for convenience. I tend to work on a component level more than anything.
So I usually get something like this:
header { ... }
.header-logo { ... }
.article-list { ... }
footer { ... }
.footer-column { ... }
I'm not really following any CSS framework like BEM or OOCSS really, just following some basic rules, but then again, I'm on my own here, not part of big team or something ;)
Besides that I try to limit my specificity as much as I can. I'm usually at around a maximum of 3 levels deep, but there always exceptions to about 4 or 5 levels deep.
Robert van der Elst
Front End Designer