No hay uno
Uso guiones bajos todo el tiempo, debido a los guiones que estropean el resaltado de sintaxis de mi editor de texto (Gedit), pero esa es una preferencia personal.
He visto todas estas convenciones en todo el lugar. Use el que le parezca mejor: el que le parezca más agradable / fácil de leer, y el más fácil de escribir porque lo usará mucho. Por ejemplo, si tiene la tecla de subrayado en la parte inferior del teclado (poco probable, pero totalmente posible), entonces utilice guiones. Simplemente ve con lo que es mejor para ti. Además, las 3 convenciones son fácilmente legibles. Si está trabajando en un equipo, recuerde seguir la convención especificada por el equipo (si corresponde).
Actualización 2012
He cambiado la forma en que programo con el tiempo. Ahora uso camel case ( thisIsASelector
) en lugar de guiones ahora; Este último me parece bastante feo. Use lo que prefiera, que puede cambiar fácilmente con el tiempo.
Actualización 2013
Parece que me gusta mezclar cosas anualmente ... Después de cambiar a Sublime Text y usar Bootstrap por un tiempo, volví a los guiones. Para mí, ahora se ven mucho más limpios que un_der_scores o camelCase. Sin embargo, mi punto original sigue en pie: no hay un estándar.
Actualización 2015
Un caso interesante de esquina con convenciones aquí es Rust . Realmente me gusta el lenguaje, pero el compilador te avisará si defines cosas usando algo más que underscore_case
. Puede desactivar la advertencia, pero es interesante que el compilador sugiera una convención por defecto. Me imagino que en proyectos más grandes conduce a un código más limpio que no es malo.
Actualización 2016 ( lo solicitó)
He adoptado el estándar BEM para mis proyectos en el futuro. Los nombres de clase terminan siendo bastante detallados, pero creo que les da una buena estructura y reutilización a las clases y CSS que van con ellos. Supongo que BEM es en realidad un estándar (por lo que mi se no
convierte en un yes
tal vez), pero aún depende de usted lo que decida usar en un proyecto. Lo más importante: sea coherente con lo que elija.
Actualización 2019 ( lo solicitó)
Después de no escribir CSS durante bastante tiempo, comencé a trabajar en un lugar que usa OOCSS en uno de sus productos. Personalmente, me parece bastante desagradable dejar basura en todas partes, pero no tener que saltar entre HTML y CSS todo el tiempo se siente bastante productivo.
Sin embargo, todavía estoy decidido por BEM. Es detallado, pero el espacio de nombres hace que trabajar con él en los componentes React sea muy natural. También es ideal para seleccionar elementos específicos cuando se realizan pruebas en el navegador.
OOCSS y BEM son solo algunos de los estándares CSS disponibles. Elija uno que funcione para usted: todos están llenos de compromisos porque CSS simplemente no es tan bueno .
Actualización 2020
Una actualización aburrida este año. Todavía estoy usando BEM. Mi posición realmente no ha cambiado desde la actualización de 2019 por los motivos enumerados anteriormente. Use lo que funcione para usted que se adapte al tamaño de su equipo y oculte tanto o tan poco conjunto de características pobres de CSS como desee.