J'ai du mal à trouver une bonne convention de dénomination pour les actifs comme les images, les fichiers js et css utilisés dans mes projets Web.
Donc, mon courant serait:
CSS:style-{name}.css
exemples: style-main.css
, style-no_flash.css
, style-print.css
etc.
JS:script-{name}.js
exemples: script-main.js
, script-nav.js
etc.
Images:{imageType}-{name}.{imageExtension}
{imageType}
est l'un de ceux-ci
<img />
élément)Les noms d'exemple seraient: icon-help.gif
, img-logo.gif
, Sprite-main_headlines.jpg
, bg-gradient.gif
etc.
Alors, qu'en pensez-vous et quelle est votre convention de dénomination ?
Je place les fichiers CSS dans un dossier css
, Javascript dans js
, images dans images
, ... Ajoutez des sous-dossiers comme bon vous semble. Pas besoin de convention de dénomination au niveau des fichiers individuels.
J'ai remarqué que de nombreux développeurs frontaux s'éloignaient de css
et js
au profit de styles
et scripts
parce qu'il y a généralement d'autres choses là-dedans , tel que .less
, .styl
, et .sass
ainsi que, pour certains, .coffee
. Le fait est que l'utilisation de sélections technologiques spécifiques dans votre choix d'organisation de dossiers est une mauvaise idée même si tout le monde le fait. Je continuerai à utiliser la norme que je vois de ces développeurs très respectés:
src/html
src/images
src/styles
src/styles/fonts
src/scripts
Et leur destination construit des équivalents, qui sont parfois préfixés avec dest
selon ce qu'ils construisent:
./
images
styles
styles/fonts
scripts
Cela permet à ceux qui veulent rassembler tous les fichiers (plutôt que de casser un répertoire src
) de garder cela et de garder les choses clairement associées pour ceux qui éclatent.
Je vais un peu plus loin et j'ajoute
scripts/before
scripts/after
Qui se faufilent en deux main-before.min.js
et main-after.min.js
scripts, un pour l'en-tête (avec les éléments essentiels de normalize
et modernizr
qui doivent être exécutés tôt, par exemple) et after
pour la dernière chose dans le corps depuis que javascript peut attendre. Ceux-ci ne sont pas destinés à la lecture, tout comme la page principale de Google.
S'il existe des scripts et des feuilles de style qui ont du sens à réduire et à laisser liés seuls en raison d'une approche de gestion du cache particulière qui est prise en charge dans les règles de génération.
De nos jours, si vous n'utilisez pas un processus de construction quelconque, comme gulp ou grunt , vous n'atteignez probablement pas la plupart des objectifs de performances centrés sur le mobile que vous devriez probablement envisager.
. .]
C'est la meilleure structure que j'ai vue et celle que je préfère. Avec les dossiers, vous n'avez pas vraiment besoin de préfixer votre CSS, etc. avec des noms descriptifs.
Pour les grands sites où css peut définir de nombreuses images d'arrière-plan, une convention de dénomination de fichier pour ces actifs est très pratique pour apporter des modifications ultérieurement.
Par exemple:
[component].[function-description].[filetype]
footer.bkg-image.png
footer.copyright-gradient.png
Nous avons également discuté de l'ajout du type d'élément, mais je ne sais pas à quel point cela est utile et pourrait être trompeur pour les modifications futures requises:
[component].[element]-[function-description].[filetype]
footer.div-bkg-image.png
footer.p-copyright-gradient.png
Vous pouvez le nommer comme ceci:
/ assets/css/- Pour les fichiers CSS
/ assets/font/- Pour les fichiers de polices. (Généralement, vous pouvez simplement aller dans les polices Google pour rechercher des polices utilisables.)
/ assets/images/- Pour les fichiers Images.
/ assets/scripts/ou/assets/js/- Pour les fichiers JavaScript.
/ assets/media/- Pour la vidéo et divers. des dossiers.
Vous pouvez également remplacer "assets" par le nom de dossier "resource" ou "files" et conserver le nom de ses sous-dossiers. Bien avoir une structure de dossiers de commande comme celle-ci n'est pas très important, le seul élément important est que vous n'avez qu'à organiser vos fichiers en fonction de leur format. comme la création d'un dossier "/ css /" pour les fichiers CSS ou "/ images /" pour les fichiers image.
J'ai tendance à éviter tout ce qui est générique, comme ce que suggère smdrager. "mysite.main.css" ne veut rien dire du tout.
Qu'est-ce que "mysite" ?? Celui sur lequel je travaille? Si oui, alors vraiment évident, mais ça me fait déjà penser à ce que cela pourrait être et si c'est si évident!
Qu'est-ce que "Main"? Le mot "principal" n'a pas de définition en dehors de la connaissance des codeurs de ce qui se trouve dans ce fichier CSS.
Bien que cela soit correct dans certains scénarios, évitez également les noms comme "top" ou "left": "top-nav.css" ou "top-main-logo.png".
Vous pourriez finir par vouloir utiliser la même chose ailleurs, et mettre une image dans un pied de page ou dans le contenu de la page principale appelée "top-banner.png" est très déroutant!
Je ne vois aucun problème à avoir un bon nombre de feuilles de style pour permettre une convention de dénomination décente pour décrire ce que CSS est dans le fichier donné.
Le nombre dépend entièrement de la taille du site et de ses fonctions, ainsi que du nombre de blocs différents sur le site.
Je ne pense pas que vous ayez besoin d'indiquer "CSS" ou "STYLE" dans les noms de fichiers css, car le fait qu'il soit dans le dossier "css" ou "styles" et possède une extension de .css
Et principalement comme ces fichiers ne sont appelés que dans la zone <head>
, je sais très bien ce qu'ils sont.
Cela dit, je le fais avec des fichiers de bibliothèque, JS et config (etc). par exemple libSomeLibrary.php ou JSSomeScript.php. Comme PHP et JS sont inclus ou utilisés dans diverses zones au sein d'autres fichiers, et avoir des informations sur l'objectif principal du fichier dans le nom est utile.
par exemple: Voir le nom de fichier require('libContactFormValidation.php');
est utile. Je sais que c'est un fichier de bibliothèque (lib) et du nom ce qu'il fait.
Pour les dossiers d'images, j'ai généralement images/content-images/
Et images/style-images/
. Je ne pense pas qu'il soit nécessaire de séparer davantage, mais encore une fois cela dépend du projet.
Ensuite, chaque image sera nommée en fonction de ce qu'elle est, et encore une fois, je ne pense pas qu'il soit nécessaire de définir le fichier est une image dans le nom de fichier. Les tailles peuvent être utiles, en particulier lorsque les images ont des tailles différentes.
site-logo-150x150.png
site-logo-35x35.png
shop-checkout-button-40x40.png
shop-remove-item-20x20.png
etc
Une bonne règle à suivre est la suivante: si un nouveau développeur venait aux fichiers, resterait-il assis à se gratter la tête pendant des heures, ou comprendrait-il probablement ce que font les choses et n'aurait besoin que d'un peu de temps pour faire des recherches (ce qui est inévitable)?
Cependant, comme quelque chose comme ça, l'une des règles les plus importantes à suivre est simplement constance!
Assurez-vous de suivre la même logique et les mêmes schémas dans toutes vos conventions de dénomination!
Des noms de fichiers css simples, aux PHP aux noms de table et de colonne de base de données.
Tout d'abord, je me divise en dossiers: css
, js
, img
.
Dans css et js, je préfixe les fichiers avec le nom du projet car votre site peut inclure des fichiers js et css qui sont des composants, cela indique clairement où les fichiers sont spécifiques à votre site ou liés aux plugins.
css/mysite.main.css
css/mysite.main.js
D'autres fichiers peuvent ressembler à
js/jquery-1.6.1.js
js/jquery.validate.js
Enfin, les images sont divisées par leur utilisation.
img/btn/submit.png
un boutonimg/lgo/mysite-logo.png
un logoimg/bkg/header.gif
un arrière-planimg/dcl/top-left-widget.jpg
un élément de décalcomanieimg/con/portait-of-something.jpg
une image de contenuIl est important de garder les images organisées car il peut y en avoir plus de 100 et peut facilement être totalement mélangé et nommé de manière confuse.
La BBC a des tonnes de normes concernant le développement Web.
Leur standard est assez simple pour les fichiers CSS:
http://www.bbc.co.uk/guidelines/futuremedia/technical/css.shtml
Vous pourrez peut-être trouver quelque chose d'utile sur leur site principal:
C'est une vieille question, mais toujours valable.
Ma recommandation actuelle est d'aller avec quelque chose dans ces lignes:
J'ai marqué en gras les habituels, les autres ne sont pas du contenu habituel.
La raison de la division principale est qu'à l'avenir, vous pouvez décider de mettre en serveur les ressources Web à partir d'un CDN ou de restreindre l'accès client aux ressources du serveur, pour des raisons de sécurité.
Dans les répertoires lib que j'utilise pour être descriptif sur les bibliothèques, par exemple
afin que vous puissiez remplacer la bibliothèque par une nouvelle, sans casser le code, permettant également aux futurs responsables du code, y compris vous-même, de trouver la bibliothèque et de la mettre à jour ou d'obtenir de l'aide.
Aussi, n'hésitez pas à organiser le contenu à l'intérieur en fonction de son utilisation, donc les images/logos et images/icônes sont des répertoires attendus dans certains projets.
En guise de remarque, le nom des actifs est significatif, ce qui signifie non seulement que nous avons des ressources, mais aussi que les ressources doivent avoir une valeur pour le projet et non un poids mort.