¿Convención de nomenclatura de archivos para imágenes almacenadas en el control de versiones?


9

Mi aplicación tiene un archivo de icono que se almacena en el control de versiones. Ahora mañana podría decidir cambiar el ícono. Estoy debatiendo entre dos posibles convenciones de nomenclatura para el archivo de icono:

  1. Mantenga el nombre de archivo fijo, por ejemplo, application.ico
  2. Haga que el nombre del archivo refleje la naturaleza de la imagen, por ejemplo, happyface.ico

La opción 1 no dice qué es el archivo. Podría dar la ilusión de que dos imágenes muy diferentes son de alguna manera "versiones" diferentes de la misma cosa. Con la opción 2, no solo tendría que agregar un nuevo archivo y eliminar el anterior, sino que tendría que modificar el archivo de recursos para reflejar el nuevo nombre de archivo del icono.

En un ángulo relacionado pero diferente:

Un sitio web con una imagen de encabezado. ¿Es el nombre de archivo header.jpg o sunrise-family-smiling.jpg?

¿Deben los nombres de los archivos de imágenes reflejar su función en la aplicación o su contenido? ¿Cuál sería una mejor práctica para esto?

Respuestas:


11

La opción 1 no dice qué es el archivo. Podría dar la ilusión de que dos imágenes muy diferentes son "versiones" diferentes de la misma cosa.

Bueno, lo es, ¿no? Sé que podría haber cambiado de una cara sonriente a un logotipo corporativo, pero aún son versiones diferentes de un ícono específico en su aplicación.

Creo que te estás perdiendo el punto al enfocarte en la subversión. El factor decisivo clave debería ser la aplicación misma. Cuando agrego el ícono que aparece en la barra de título, no pienso "debo describir el contenido de la imagen". Estoy pensando "¿qué es esta imagen para la aplicación, o para cualquier otra persona que necesite cambiarla más tarde?"

Y ahí radica un punto más grande. Cuando venga a cambiarlo más tarde, ¿realmente quiero cambiar el nombre de la imagen en la aplicación? Sigue haciendo lo mismo, entonces, ¿por qué la aplicación necesita saber que la he cambiado?


4

Personalmente, siempre he usado un nombre descriptivo para todos mis archivos, incluidos los iconos, e incluso si se deben cambiar los nombres de los recursos.

En su caso, tomaría una tercera opción:

  • Si la aplicación se llamara XYZZY, entonces nombraría el icono de la aplicación "XYZZY.ico". No importa cómo se vea el icono, es el icono adecuado para la aplicación XYZZY.

Por extensión, si necesito un par de íconos de diferentes tamaños, agregaría el tamaño del ícono al nombre. Entonces, para un icono de 48x48, tendría "XYZZY_48x48.ico".

En relación con la última parte "Un sitio web con una imagen de encabezado. ¿Es el nombre de archivo header.jpg o sunrise-family-smiling.jpg?": Si el sitio web es para Plugh Corp, entonces usaría "Plugh_Header.jpg".


3
Agregar el nombre de la aplicación al nombre del archivo es un poco redundante, ya que seguramente todos los archivos residirán en una carpeta llamada XYZZY y, por lo tanto, la compañía se puede determinar a partir de eso. ¿Nombra la página de inicio XYZZY_index.htm? Entonces, ¿por qué hacerlo para las imágenes?
Gavin Coates

4

Iría por application.icoy header.jpgcomo es más simple y más cercano al significado de la imagen en su aplicación .

Es posible que desee almacenar las imágenes como happyface.icoy sunrise-family-smiling.jpgen otro lugar (en otro repositorio o tal vez en el mismo) si desea mantenerlas fácilmente accesibles también.


2

Otra cosa a tener en cuenta: si se trata de una aplicación web, querrá cambiar el nombre del archivo, incluso si la imagen no ha cambiado fundamentalmente, simplemente porque eso obliga a los navegadores de los usuarios a cargar la nueva versión en lugar de utilizar la anterior. cache.

De las mejores prácticas de Yahoo para acelerar su sitio web :

Tenga en cuenta que si usa un encabezado Expires de futuro lejano, debe cambiar el nombre de archivo del componente cada vez que cambie el componente. En Yahoo! a menudo hacemos que este paso forme parte del proceso de compilación: un número de versión está incrustado en el nombre de archivo del componente, por ejemplo, yahoo_2.0.6.js.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.