Apakah ada konvensi penamaan untuk repositori git?

328

Sebagai contoh, saya memiliki layanan tenang yang disebut Layanan Pembelian. Haruskah saya memberi nama repositori saya:

  1. purchaserestservice
  2. purchase-rest-service
  3. purchase_rest_service
  4. atau sesuatu yang lain?

Apa konvensi itu? Bagaimana dengan di Github? Haruskah repositori publik mengikuti beberapa standar?

Adrian M
sumber
4
Posting blog ini mungkin bermanfaat gravitydept.com/blog/…
PHeiberg

Jawaban:

379

Saya akan pergi untuk purchase-rest-service. Alasan:

  1. Apa itu "pur chase rest ervice"? Kata-kata panjang dan bersambung sulit dipahami. Saya tahu, saya orang Jerman. "Donaudampfschifffahrtskapitänspatentausfüllungsassistentenausschreibungsstellenbewerbung."

  2. "_" lebih sulit untuk diketik daripada "-"

Aaron Digulla
sumber
151
Saya tidak (sungguh-sungguh) mengerti, tetapi bukankah Anda melewatkan huruf S di ... auschreibung ...?
Vili
6
@adimauro: Ini aplikasi untuk posisi terbuka sebagai asisten untuk mengisi formulir untuk paten kapten kapal uap Danube.
Aaron Digulla
6
Adakah alasan khusus Anda tidak suka camelCase? Itu adalah konvensi penamaan item-ke-ke-umum saya karena tidak menggunakan karakter khusus.
10gistik
31
@ 10gistic nama repo sering terlihat di URL (mis. Pada github) yang mungkin tidak sensitif huruf besar atau bahkan dikonversi menjadi huruf kecil, dan untuk alasan ini camelCase adalah ide yang buruk. Saya tidak berpikir github melakukan ini, tetapi tampaknya masih lebih baik diselamatkan.
jdg
19
Orang-orang di GitHub menggunakan tanda hubung. habrastorage.org/getpro/habr/post_images/d34/331/a8d/…
airato
72

Masalah dengan camel case adalah sering ada interpretasi kata yang berbeda - misalnya, checkinService vs checkInService. Bersamaan dengan jawaban Harun, sulit dengan pelengkapan otomatis jika Anda memiliki banyak repo dengan nama yang sama harus terus-menerus memeriksa apakah orang yang membuat repo yang Anda pedulikan menggunakan perincian tertentu dari huruf besar dan kecil. hindari huruf besar.

Maksudnya tentang tanda hubung juga disarankan.

  1. gunakan huruf kecil.
  2. gunakan tanda hubung.
  3. lebih spesifik. Anda mungkin menemukan Anda harus membedakan antara ide-ide serupa nanti - yaitu menggunakan layanan-beli-bukannya layanan atau layanan-istirahat.
  4. konsistenlah. pertimbangkan penggunaan dari berbagai vendor GIT - bagaimana Anda ingin repositori Anda diurutkan / dikelompokkan?
Matthew Sandoz
sumber
3
Jawaban Anda menyentuh dua masalah penting, sedangkan jawaban atas tidak.
Will Beason
4
Bagaimana melupakan apakah layanan checkin atau check-in-service lebih baik daripada melupakan apakah itu checkinService atau checkInService?
MarredCheese
Kasing camel juga lebih sulit untuk penutur asli.
Ben Aveling
48

lowercase-with-hyphens adalah gaya yang paling sering saya lihat di GitHub. *

lowercase_with_underscores mungkin gaya paling populer kedua yang saya lihat.

Yang pertama adalah preferensi saya karena menghemat penekanan tombol.

* Anekdotal; Saya belum mengumpulkan data apa pun.

Dennis
sumber
8
Tanda hubung juga memiliki keunggulan SEO. Ini mungkin bukan pertimbangan utama, tetapi karena kita berbicara tentang URL, itu relevan.
Michael Scheper
12
Tanda hubung juga memiliki keunggulan lain: mereka lebih mudah dikenali pada hyperlink yang digarisbawahi (di mana garis bawah mungkin mudah dikira sebagai spasi).
Jeroen
1
Sulit untuk mengumpulkan data seperti yang telah Anda sebutkan, tetapi saya pergi ke github.com/trending/developers dan hanya melihat gaya sebelumnya yang telah disebutkan:lowercase-with-hyphens
SaTa
21

Tanpa memilih opsi penamaan tertentu, ingat bahwa git repo dapat dikloning ke direktori root pilihan Anda:

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

Di sini repo.gitakan dikloning ke myDirdirektori.

Jadi, bahkan jika konvensi penamaan Anda untuk repo publik berakhir menjadi sedikit salah, masih mungkin untuk memperbaikinya di sisi klien.

Itulah sebabnya, di lingkungan terdistribusi di mana setiap klien dapat melakukan apa pun yang dia inginkan, sebenarnya tidak ada konvensi penamaan untuk repo Git.
(kecuali untuk memesan " xxx.git" untuk bentuk telanjang dari repo ' xxx).
Mungkin ada konvensi penamaan untuk layanan REST (mirip dengan " Apakah ada pedoman konvensi penamaan untuk API REST? "), tetapi itu adalah masalah yang terpisah.

VONC
sumber
4
Poin yang bagus. Namun, memperbaiki nama repo di sisi klien agak membuktikan bahwa memiliki konvensi penamaan akan sangat membantu. Bukankah begitu? Mengapa memperbaikinya jika mengikuti konvensi? Mungkin pakar sihir telah banyak mempengaruhi saya.
Adrian M
1
@AdrianM poin saya adalah: ya, konvensi penamaan berguna, tetapi tidak ada hubungannya dengan Git atau GitHub, dan segala sesuatu dengan apa yang ingin Anda lakukan dengan repo tertentu. Jadi jawaban untuk pertanyaan Anda adalah "tidak, tidak ada konvensi penamaan untuk repositori git".
VonC
8

Mungkin itu hanya latar belakang Java dan C saya yang ditampilkan, tetapi saya lebih suka CamelCase (CapCase) daripada tanda baca dalam nama. Kelompok kerja saya menggunakan nama-nama seperti itu, mungkin untuk mencocokkan nama-nama aplikasi atau layanan yang berisi repositori.

SteveW
sumber
6
Posting ini jarang dan itu bukan preferensi pribadi saya, tetapi dia masih menyebutkan manfaat, bahwa nama proyek di Jawa adalah kasus unta dan ada beberapa kenyamanan dalam kongruensi. Apakah kita yakin bahwa downvotes di sini bukan hanya bias penamaan yang merayap masuk?
eremzeit
1
Sepakat. Jawaban lain membahas kerugian camelCase, tetapi di dunia Java, akan sepenuhnya masuk akal untuk memutuskan camelCase lebih baik bagaimanapun ... terutama untuk proyek-proyek yang benar-benar bodoh tentang dunia Windows.
Michael Scheper
11
Pengumuman layanan masyarakat yang luar biasa: PascalCase bukan camelCase.
MarredCheese
0

Jika Anda berencana untuk membuat paket PHP, Anda kemungkinan besar ingin memasukkan Packagist untuk membuatnya tersedia bagi pembuat komposer lainnya. Komposer memiliki konvensi penamaan sebagai untuk digunakan vendorname/package-name-is-lowercase-with-hyphens.

Jika Anda berencana untuk membuat paket JS, Anda mungkin ingin menggunakan npm. Salah satu konvensi penamaan mereka adalah untuk tidak mengizinkan huruf besar di tengah nama paket Anda.

Oleh karena itu, saya akan merekomendasikan untuk paket PHP dan JS untuk menggunakan lowercase-with-hyphensdan memberi nama paket Anda di komposer atau npm identik dengan paket Anda di GitHub.

Adam
sumber