8
votes

Les classes d'éléments HTML doivent-elles avoir des préfixes en fonction de leur utilisation?

On m'a dit que c'est une pratique standard pour préfixer les noms de classe sur les éléments HTML avec "JQ" ou "JS" afin que le concepteur ne soit pas en conflit avec le développeur.

J'ai été autour d'un peu et je n'ai jamais vu cela fait et personnellement que cela crée une fracture artificielle et inutile entre le design et le code.

La question est de savoir s'il s'agit bien de la pratique standard, et de plus, je voudrais des références aux articles expliquant pourquoi cela est fait (quel problème résout-il).


2 commentaires

Les entreprises peuvent avoir de jolies politiques étranges sur ces choses. J'ai déjà travaillé dans une entreprise où il y avait une politique sur l'utilisation des identifiants pour styles de style pour la même raison. Cela me semble assez déraisonnable.


@Jakub - ça sonne ridicule! :-P


6 Réponses :


-1
votes

Je ne suis pas vraiment sûr d'être honnête, mais puis-je suggérer de regarder d'autres sites Web Source HTML et de voir si vous pouvez trouver quelque chose sur ces lignes? Les sites Web populaires ou fabriqués par une agence bien connue qui vous attendait peut utiliser une telle pratique si elle était standard.


1 commentaires

Faire quelque chose juste parce que d'autres le font, sans savoir pourquoi ils le font?!? C'est juste ... bête.



0
votes

Je n'ai certainement pas entendu parler de cela comme une pratique "standard". Des directives et des articles de lecture, je n'ai jamais vu de préfixe en face d'une classe.

Cependant, il pourrait être utile de préfixer un nom de classe si vous alliez utiliser cette classe avec jQuery. Il sera plus facile d'identifier et de laisser les autres savoir qu'il utilisait par une fonction.


0 commentaires

1
votes

Ce n'est pas une pratique courante générale, mais il peut être une standard pratiquante au sein d'une organisation spécifique.

L'utilisation de préfixes pour spécifier l'utilisation d'un identifiant est appelée notation hongroise. Il est principalement utilisé pour spécifier des types de données dans des langues de script sans taper stricte, mais l'intention initiale était simplement de spécifier tout aspect essentiel à l'utilisation de l'identifiant.

L'utilisation de préfixes comme celle-ci peut être utile pour s'assurer que les classes destinées à la conception ne sont pas en conflit avec des classes destinées au contrôle du programme. Cela ne dépend toutefois pas de savoir qui crée la classe, mais comment la classe est utilisée. Si un développeur crée un script qui ajoute une classe aux éléments pour modifier leur apparence, la classe est utilisée pour la conception afin qu'elle ne soit pas préfixée comme nom de classe de contrôle de programme. Un nom de classe utilisé pour le contrôle du programme ne serait utilisé que pour cela et n'a aucun style visuel.

Comme avec la plupart des pratiques de programmation, il est plus important que vous choisissiez une norme et de vous en tenir à la norme, de choisir la norme qui est absolument meilleure.


0 commentaires

1
votes

Non seulement il n'est pas une pratique standard (sauf, probablement dans votre organisation), mais le W3CC conseille contre celui-ci . Les noms de classe doivent être utilisés pour décrire davantage le contenu des balises HTML sémantiques, plutôt que comme des points de référence pour la conception ou développement.

Je m'attendrais à ce que les pages HTML de bonne structure ont des classes cohérentes pour des types de contenu similaires, ce qui conviendrait parfaitement à une utilisation JavaScript.

Un designer qui ne peut pas écrire correctement HTML, vous rappelez-vous que le balisage HTML est censé décrire le contenu pas style IT , ne doit pas écrire HTML IMO.


2 commentaires

Je pense que l'article W3C parle purement de noms de classe d'un point de vue présentant, tandis que les classes sont maintenant couramment utilisées comme crochets JQuery sans utilisation visuelle. Je ne lis pas cet article et pensez que le W3C vous conseille contre les préfixes des classes non présentées.


@John Catterfeld: Je ne suis pas d'accord. L'article est intitulé "Utiliser la classe avec sémantique à l'esprit" après tout. Aussi FTA: "... Nommez vos classes [...] avec le rôle qu'un certain élément HTML de cette classe a".



15
votes

Je suis le développeur front-end à mon organisation et en tant que tel responsable de la CSS. Je crée toutes les classes requises pour la mise en page et l'interface utilisateur, ainsi que périodiquement rangement styles non utilisés et marquer.

Nos développeurs n'ont jamais besoin d'ajouter des cours pour la présentation, mais ils ajoutent occasionnellement des cours pour JavaScript. Dans ces cas, je leur ai demandé de préparer leurs classes avec js - .

Cela vous aide simplement à identifier les classes qui ne sont pas utilisées pour la présentation, mais sont toujours nécessaires pour la fonctionnalité. Mes autres noms de classe sont tous descriptifs du contenu.

Avant de l'avoir introduit, il était beaucoup plus difficile de garder la marque Tidy (en supprimant les classes non utilisées) car les classes pouvaient sembler redondantes (sans références dans les feuilles de style), mais étaient toujours utilisées.

Je n'ai pas rencontré aucune documentation en disant que c'est une mauvaise idée. Cela fonctionne pour nous, donc simplement une question de préférence personnelle.


0 commentaires

2
votes

Cela ressemble à une convention à l'ancienne pour moi, en particulier dans le contexte avec HTML / JavScript / CSS.

Les classes ne doivent être utilisées que pour des raisons de mise en page. S'il y a des cours de toute façon, définis par un concepteur, alors ils peuvent et doivent être utilisés par les développeurs. Les valeurs des contrôles PURE PROGRAMM doivent être définis à l'aide d'attributs personnalistes ( http://www.javascriptkit.com/dhtmltutors /customattributes.shtml ). Cette pratique avec des conventions de dénomination détaillées et bien pensées évite la plupart des problèmes.

Il semble également que des classes devraient être attribuées deux fois à des éléments deux fois souvent avec ce préfixe pratice. Une raison de plus de demander comment une pratique comme celle-ci peut être une bonne voire standard.


EDIT: Les préfixes peuvent être utiles à l'intérieur des plugins pour par exemple. Bibliothèques JavaScript bien sûr pour éviter les conflits de classe!


1 commentaires

Le problème avec cette approche, beaucoup comme je l'aime (d'où le vote de +1), est que la sélection des éléments par attribut de données est nettement plus lente que la sélection de classe. Voir JSPERF.fr/attribute-vs-class-selection pour la comparaison.