Il n'y en a pas.
J'utilise des soulignements tout le temps, en raison de tirets qui gâchent la coloration syntaxique de mon éditeur de texte (Gedit), mais c'est une préférence personnelle.
J'ai vu toutes ces conventions utilisées partout. Utilisez celui que vous pensez être le meilleur - celui qui semble le plus agréable / le plus facile à lire pour vous, ainsi que le plus facile à taper car vous l'utiliserez beaucoup. Par exemple, si vous avez votre touche de soulignement sur la face inférieure du clavier (peu probable, mais tout à fait possible), respectez les tirets. Allez avec ce qui vous convient le mieux. De plus, ces 3 conventions sont facilement lisibles. Si vous travaillez en équipe, n'oubliez pas de respecter la convention spécifiée par l'équipe (le cas échéant).
Mise à jour 2012
J'ai changé la façon dont je programme au fil du temps. J'utilise maintenant camel case ( thisIsASelector
) au lieu de tirets maintenant; Je trouve ce dernier plutôt moche. Utilisez ce que vous préférez, qui peut facilement changer avec le temps.
Mise à jour 2013
Il semble que j'aime mélanger les choses chaque année ... Après être passé à Sublime Text et utiliser Bootstrap pendant un certain temps, je suis revenu aux tirets. Pour moi, maintenant, ils ont l'air beaucoup plus propres que les un_der_scores ou camelCase. Mon point de vue initial est toujours valable: il n'y a pas de norme.
Mise à jour 2015
Un cas d'angle intéressant avec des conventions ici est Rust . J'aime vraiment le langage, mais le compilateur vous avertira si vous définissez des choses en utilisant autre chose que underscore_case
. Vous pouvez désactiver l'avertissement, mais il est intéressant de noter que le compilateur suggère fortement une convention par défaut. J'imagine que dans des projets plus importants, cela conduit à un code plus propre, ce qui n'est pas une mauvaise chose.
Mise à jour 2016 ( vous l'avez demandé)
J'ai adopté la norme BEM pour mes projets futurs. Les noms de classe finissent par être assez verbeux, mais je pense que cela donne une bonne structure et une bonne réutilisabilité aux classes et CSS qui les accompagnent. Je suppose que BEM est en fait un standard (donc mon no
devient yes
peut - être) mais c'est à vous de décider ce que vous décidez d'utiliser dans un projet. Plus important encore: soyez cohérent avec ce que vous choisissez.
Mise à jour 2019 ( vous l'avez demandé)
Après avoir écrit sans CSS pendant un bon moment, j'ai commencé à travailler dans un endroit qui utilise OOCSS dans l'un de leurs produits. Personnellement, je trouve assez désagréable de jeter des classes partout, mais ne pas avoir à basculer entre HTML et CSS tout le temps semble assez productif.
Je suis toujours décidé pour BEM. Il est verbeux, mais l'espace de noms rend son utilisation dans les composants React très naturelle. Il est également idéal pour sélectionner des éléments spécifiques lors des tests du navigateur.
OOCSS et BEM ne sont que quelques-unes des normes CSS disponibles. Choisissez celui qui fonctionne pour vous - ils sont tous pleins de compromis parce que CSS n'est tout simplement pas si bon .
Mise à jour 2020
Une mise à jour ennuyeuse cette année. J'utilise toujours BEM. Ma position n'a pas vraiment changé depuis la mise à jour 2019 pour les raisons énumérées ci-dessus. Utilisez ce qui fonctionne pour vous, qui s'adapte à la taille de votre équipe et masque autant ou aussi peu de fonctionnalités médiocres de CSS que vous le souhaitez.