¿Existe una convención de nomenclatura para los repositorios git?


Por ejemplo, tengo un servicio RESTful llamado Servicio de Compra. Debo nombrar mi repositorio

  1. purchaserestservice
  2. purchase-rest-service
  3. purchase_rest_service
  4. o algo más?

¿Cuál es la convención? ¿Qué tal en Github? ¿Los repositorios públicos deben seguir algún estándar?

Author: Adrian M, 2012-08-14

5 answers

Yo iría por purchase-rest-service. Razones:

  1. ¿Qué es "pur chase descansa rests"? Las palabras largas y concatenadas son difíciles de entender. Lo sé, soy alemán. "Donaudampfschifffahrtskapitänspatentausfüllungsassistentenausschreibungsstellenbewerbung."

  2. "_" es más difícil de escribir que "-"

 249
Author: Aaron Digulla,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-03 09:15:32

El problema con camel case es que a menudo hay diferentes interpretaciones de las palabras, por ejemplo, checkinService vs checkInService. Siguiendo con la respuesta de Aaron, es difícil con el autocompletado si tienes muchos repositorios con nombres similares tener que verificar constantemente si la persona que creó el repositorio que te importa usó un cierto desglose de las mayúsculas y minúsculas. evite las mayúsculas.

Su punto sobre los guiones también es bien aconsejado.

  1. utilice minúsculas.
  2. utilice guiones.
  3. sea específico. usted puede encontrar que usted tiene que diferenciar entre ideas similares más tarde-es decir, utilizar compra-rest-servicio en lugar de servicio o rest-servicio.
  4. sea consistente. considere el uso de los diversos proveedores de GIT: ¿cómo desea que se ordenen/agrupen sus repositorios?
 39
Author: Matthew Sandoz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-29 12:13:58

lowercase-with-hyphens es el estilo que más veo en GitHub.*

lowercase_with_underscores es probablemente el segundo estilo más popular que veo.

El primero es mi preferencia porque guarda las pulsaciones de teclas.

* Anecdótico; no he recogido ningún dato.

 27
Author: Dennis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-03 21:51:24

Sin favorecer ninguna elección de nombre en particular, recuerde que un repositorio git se puede clonar en cualquier directorio raíz de su elección:

git clone https://github.com/user/repo.git myDir

Aquí repo.git sería clonado en el directorio myDir.

Así que incluso si su convención de nomenclatura para un repositorio público terminó siendo ligeramente incorrecta, todavía sería posible arreglarlo en el lado del cliente.

Es por eso que, en un entorno distribuido donde cualquier cliente puede hacer lo que quiera, no hay realmente un convención de nomenclatura para el repositorio Git.
(excepto para reservar "xxx.git " para desnudo forma del repo 'xxx')
Podría haber una convención de nomenclatura para el servicio REST (similar a " ¿Hay alguna guía de convención de nomenclatura para las API REST?"), pero esa es una cuestión aparte.

 17
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 10:31:35

Tal vez es solo mi Java y C fondo mostrando, pero prefiero camelCase (CapCase) sobre la puntuación en el nombre. Mi grupo de trabajo utiliza tales nombres, probablemente para coincidir con los nombres de la aplicación o servicio que contiene el repositorio.

 5
Author: SteveW,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-24 02:06:43