Convention de dénomination des fichiers pour les images stockées dans le contrôle de version?

9

Mon application a un fichier icône qui est stocké dans le contrôle de version. Demain, je pourrais décider de changer l'icône. Je discute entre deux conventions de dénomination possibles pour le fichier d'icône:

  1. Gardez le nom de fichier fixe, par exemple, application.ico
  2. Faire en sorte que le nom de fichier reflète la nature de l'image, par exemple, happyface.ico

L'option 1 ne dit pas ce qu'est le fichier. Cela pourrait donner l'illusion que deux images extrêmement différentes sont en quelque sorte des «versions» différentes de la même chose. Avec l'option 2, je n'aurais pas seulement à ajouter un nouveau fichier et supprimer l'ancien, je devrais modifier le fichier de ressources pour refléter le nouveau nom de fichier de l'icône.

Sur un angle apparenté mais différent:

Un site Web avec une image d'en-tête. Le nom de fichier est-il header.jpg ou sunrise-family-smiling.jpg?

Les noms de fichiers image doivent-ils refléter leur fonction dans l'application ou leur contenu? Quelle serait la meilleure pratique pour cela?

Utilisateur
la source

Réponses:

11

L'option 1 ne dit pas ce qu'est le fichier. Cela pourrait donner l'illusion que deux images extrêmement différentes sont en quelque sorte des "versions" différentes de la même chose

Eh bien, ça l'est, n'est-ce pas? Je sais qu'il a peut-être changé d'un visage souriant en un logo d'entreprise, mais il s'agit toujours de différentes versions d'une icône spécifique dans votre application.

Je pense que vous manquez le point en vous concentrant sur la subversion. Le facteur décisif clé devrait être l'application elle-même. Lorsque j'ajoute l'icône qui apparaît dans la barre de titre, je ne pense pas "Je dois décrire le contenu de l'image". Je pense "quelle est cette image pour l'application, ou pour toute autre personne qui doit la changer plus tard?"

Et c'est là que réside un point plus important. Quand je viendrai le changer plus tard, est-ce que je veux vraiment changer le nom de l'image dans l'application? Il fait toujours la même chose, alors pourquoi l'application doit-elle savoir que je l'ai changé?

pdr
la source
4

Personnellement, j'ai toujours utilisé un nom descriptif pour tous mes fichiers, y compris les icônes, et même si les noms des ressources doivent être modifiés.

Dans votre cas, je prendrais en fait un troisième choix:

  • Si l'application s'appelait XYZZY, je nommerais l'icône de l'application "XYZZY.ico". Peu importe à quoi ressemble l'icône, c'est l'icône appropriée pour l'application XYZZY.

Par extension, si j'avais besoin de quelques icônes de tailles différentes, j'ajouterais la taille de l'icône au nom. Donc pour une icône 48x48, j'aurais "XYZZY_48x48.ico".

En ce qui concerne la dernière partie "Un site Web avec une image d'en-tête. Le nom de fichier est-il header.jpg ou sunrise-family-smiling.jpg?": Si le site Web est pour Plugh Corp, alors j'utiliserais "Plugh_Header.jpg".

jwernerny
la source
3
L'ajout du nom de l'application au nom de fichier est légèrement redondant, car tous les fichiers résideront sûrement dans un dossier nommé XYZZY, et donc la société peut être déterminée à partir de cela. Nommez-vous la page d'accueil XYZZY_index.htm? Alors pourquoi le faire pour les images?
Gavin Coates
4

J'irais pour application.icoet header.jpgcomme c'est plus simple et plus proche de la signification de l'image dans votre application .

Vous voudrez peut-être stocker les images comme ailleurs happyface.icoet sunrise-family-smiling.jpgailleurs (dans un autre référentiel ou peut-être dans le même) si vous souhaitez également les garder facilement accessibles.

maaartinus
la source
2

Une autre chose à garder à l'esprit: s'il s'agit d'une application Web, vous voudrez changer le nom du fichier même si l'image n'a pas changé fondamentalement simplement parce que cela force les navigateurs des utilisateurs à charger la nouvelle version plutôt que d'utiliser l'ancienne à partir de cache.

Des meilleures pratiques de Yahoo pour accélérer votre site Web :

N'oubliez pas que si vous utilisez un en-tête Expires très futur, vous devez changer le nom de fichier du composant chaque fois que le composant change. Chez Yahoo! nous faisons souvent de cette étape une partie du processus de construction: un numéro de version est incorporé dans le nom de fichier du composant, par exemple, yahoo_2.0.6.js.

Michael Borgwardt
la source