Git depoları için bir adlandırma kuralı var mı?


328

Örneğin, Satın Alma Hizmeti adlı bir RESTful hizmetim var. Depomu adlandırmalı mıyım:

  1. purchaserestservice
  2. purchase-rest-service
  3. purchase_rest_service
  4. veya başka bir şey?

Sözleşme nedir? Github'a ne dersin? Kamu depoları bazı standartları izlemeli mi?


4
Bu blog gönderisi gravitydept.com/blog/…
PHeiberg

Yanıtlar:


379

Ben giderdim purchase-rest-service. Nedenleri:

  1. "Pur chase rest ervice" nedir? Uzun, birleştirilmiş kelimeleri anlamak zordur. Biliyorum, ben Almanım. "Donaudampfschifffahrtskapitänspatentausfüllungsassistentenausschreibungsstellenbewerbung."

  2. "_" yazmak "-" den daha zordur


151
(Gerçekten) anlamıyorum, ama ... auschreibung'da bir S'yi özlemedin mi?
Vili

6
@adimauro: Tuna buharlı teknelerinin kaptan patentleri için form doldurmak için asistan olarak açık pozisyon için bir uygulamadır.
Aaron Digulla

6
CamelCase'i tercih etmemenizin özel bir nedeni var mı? Bu benim özel ortak öğe adlandırma kuralıma gittiğim için özel karakterler kullanmıyor.
lojistik

31
@ 10gistic repo adı genellikle büyük / küçük harfe duyarlı olmayan ve hatta küçük harfe dönüştürülebilen URL'lerde (örn. Github'da) görülür ve bu nedenle camelCase kötü bir fikirdir. Github'ın bunu yaptığını sanmıyorum, ama yine de tasarruf etmek daha iyi görünüyor.
jdg

19
GitHub'daki çocuklar kısa çizgiler kullanır. habrastorage.org/getpro/habr/post_images/d34/331/a8d/…
airato

72

Deve davası ile ilgili sorun, kelimelerin genellikle farklı yorumları olmasıdır - örneğin, checkinService vs checkInService. Aaron'un cevabı ile birlikte gitmek, benzer şekilde adlandırılmış çok sayıda repoya sahipseniz, önem verdiğiniz repoyu oluşturan kişinin üst ve alt vakaların belirli bir dökümünü kullanıp kullanmadığını sürekli olarak kontrol etmek zorundaysanız otomatik tamamlama ile zordur. büyük harf kullanmaktan kaçının.

Çizgilerle ilgili görüşü de iyi tavsiye edilir.

  1. küçük harf kullanın.
  2. tire kullanın.
  3. açık ol. benzer fikirler arasında daha sonra ayrım yapmanız gerektiğini görebilirsiniz; örneğin, hizmet veya dinlenme hizmeti yerine satın alma-dinlenme hizmetini kullanın.
  4. tutarlı olun. çeşitli GIT satıcılarının kullanımını düşünün - depolarınızın nasıl sıralanmasını / gruplanmasını istersiniz?

3
Cevabınız en üstteki cevabın vermediği iki önemli konuya değiniyor.
Beason

4
Checkin-service veya check-in-service olup olmadığını checkinService veya checkInService olup olmadığını unutmaktan daha iyi nasıl unutuyor?
MarredCheese

Yerleşik olmayan hoparlörler için deve kılıfı da daha zordur.
Ben Aveling

48

lowercase-with-hyphens GitHub'da en sık gördüğüm stildir. *

lowercase_with_underscores muhtemelen gördüğüm en popüler ikinci stildir.

İlki benim tercihim çünkü tuş vuruşlarını kurtarıyor.

* Anekdot; Hiç veri toplayamadım.


8
Tirelerin SEO avantajları da vardır. Bu önemli bir husus olmayabilir, ancak URL'lerden biraz bahsettiğimizden önemlidir.
Michael Scheper

12
Tirelerin başka bir avantajı daha vardır: altı çizili köprülerde tespit etmek daha kolaydır (alt çizgiler boşluklarla kolayca karıştırılabilir).
Jeroen

1
Bahsettiğiniz gibi veri toplamak zor, ama github.com/trending/developers adresine gittim ve sadece bahsedilen eski stili gördüm:lowercase-with-hyphens
SaTa

21

Belirli bir adlandırma seçimini tercih etmeden, bir git repo'sunun istediğiniz herhangi bir kök dizine klonlanabileceğini unutmayın:

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

İşte dizine repo.gitklonlanır myDir.

Dolayısıyla, halka açık bir repo için adlandırma kuralınız biraz yanlış olsa bile, istemci tarafında düzeltmek yine de mümkün olacaktır.

Bu nedenle, herhangi bir müşterinin istediği her şeyi yapabileceği dağıtılmış bir ortamda, Git repo için bir adlandırma kuralı yoktur.
(" xxx.git" repo'nun çıplak biçimi için ayırma hariç xxx")
REST hizmeti için adlandırma kuralı olabilir (" REST API'leri için adlandırma kuralı var mıdır? "gibi), ancak bu ayrı bir konudur.


4
İyi bir nokta. Ancak, repo adının istemci tarafında sabitlenmesi, bir adlandırma kuralına sahip olmanın yararlı olacağını kanıtlamaktadır. Düşünmüyor musun? İlk etapta bir konvansiyonu takip ettiyse neden düzeltin? Belki maven beni çok etkiledi.
Adrian M

1
@AdrianM benim açımdan: evet, bir adlandırma kuralı yararlıdır, ancak Git veya GitHub ile ilgisi yoktur ve belirli bir repo ile yapmak istediğiniz her şeyle ilgilidir. Yani sorunuzun cevabı "hayır, git depoları için bir adlandırma kuralı yok".
VonC

8

Belki sadece benim Java ve C arka plan gösteren, ama ben adında noktalama üzerinde CamelCase (CapCase) tercih ederim. Çalışma grubum, muhtemelen deponun içerdiği uygulamanın veya hizmetin adlarıyla eşleşmek için bu adları kullanır.


6
Bu yazı seyrek ve benim kişisel tercihim değil, ama yine de bir faydadan bahsediyor, Java'daki proje isimlerinin deve davası ve uyum içinde biraz rahatlık var. Buradaki aşağı oyların sadece bir isim önyargısı olmadığından emin miyiz?
eremzeit

1
Kabul. Diğer cevaplar camelCase'in dezavantajlarını tartışıyor, ancak Java dünyasında, camelCase'in her nasılsa daha iyi olduğuna karar vermek tamamen mantıklı olacaktır ... özellikle Windows dünyasını mutlu bir şekilde bilmeyen projeler için.
Michael Scheper

11
Pedantik kamu hizmeti duyurusu: PascalCase camelCase değil.
MarredCheese

0

Bir PHP paketi oluşturmayı planlıyorsanız, büyük olasılıkla besteci ile başkaları için kullanılabilir hale getirmek için Packagist koymak istiyorum . Besteci, kullanılacak adlandırma kuralına sahiptir vendorname/package-name-is-lowercase-with-hyphens.

Bir JS paketi oluşturmayı planlıyorsanız, muhtemelen npm kullanmak istersiniz. Onların biri adlandırma kuralları değil paket adının ortasında büyük harf izin vermektir.

Bu nedenle, PHP ve JS paketlerinin lowercase-with-hyphenspaketlerinizi besteci veya npm'de GitHub'daki paketinizle aynı şekilde kullanmasını ve adlandırmasını öneririm.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.