Mana yang lebih baik untuk perbaikan bug kecil dan fitur kecil - menamai cabang dengan nomor tiket atau menamai mereka dengan deskripsi fitur?

10

Saya berada di tengah ketidaksepakatan (ramah, tentu saja) dengan pimpinan saya tentang penamaan cabang yang tepat. Ini berlaku untuk perbaikan bug dan cabang fitur kecil, bukan cabang fitur yang sudah berjalan lama. Untuk cabang fitur yang sudah berjalan lama, kami setuju bahwa nama yang dapat dibaca manusia lebih baik. Inilah dua sudut pandang:

Milikku:

Penamaan cabang sesuai dengan tim mereka dan nomor tiket lebih baik. Itu membuatnya lebih mudah untuk menemukan mereka di sistem tiket kami, dan lebih pendek untuk mengetik. Ini juga membuatnya lebih mudah untuk mencari cabang yang relevan di GIT ketika mencari informasi historis tentang tiket.

Contoh:

team-name/12345
team-name/53719

Nya:

Penamaan cabang sesuai dengan fitur / fungsinya. Ini membuatnya lebih mudah untuk dilengkapi otomatis, dan lebih mudah diingat daripada angka individual.

Contoh:

team-name/fix-that-sql-bug
team-name/expand-http-parser

Satu kompromi yang saya tawarkan adalah ini:

team-name/12345-fix-that-sql-bug

Tapi dia tidak suka ini, karena mengacaukan GIT autocomplete.

Jika ini terutama berdasarkan opini, jangan ragu untuk memberi saya panduan tentang bagaimana ini bisa lebih cocok untuk SO - tapi saya pikir alasan saya berikan dapat diubah / ditambahkan untuk memberikan jawaban empiris.

Codeman
sumber
dalam pengalaman saya, penamaan terbaik untuk cabang untuk perbaikan bug kecil dan fitur kecil sering trunk (gabung lebih awal, gabung sering => tidak perlu mengisolasi perubahan tanpa justifikasi yang memadai). Hal ini tentu saja tidak berlaku untuk mem-porting perbaikan kritis ke kode versi lama yang berjalan dalam produksi, yang isolasinya dibenarkan lebih dari cukup (dan karenanya, wajar saja untuk memberi nama cabang setelah tiket: setelah semua, Anda tidak melakukan sesuatu yang sangat berarti sebagai fitur, Anda hanya memperbaiki bug produksi kritis yang memiliki tiket beton)
agas

Jawaban:

5

Dalam hal ini sepertinya Anda berdua dapat berkompromi pada konvensi penamaan yang memiliki nomor dan deskripsi:

Contoh:

team-name / (12345) -fix-that-sql-bug

team-name / (53719) -expand-http-parser

Benar-benar tidak ada jawaban yang benar di sini, itu subjektif tergantung pada sudut pandang Anda.

Tetapi jika Anda berdua berkompromi, Anda mendapatkan yang terbaik dari kedua dunia. Saya mencoba dan mengingat hal ini ketika kami memiliki perbedaan pendapat yang sama dalam tim saya.

Edit:

Untuk menangani masalah pelengkapan otomatis, Anda dapat memasukkan id bernomor dalam tanda kurung, dengan cara ini saat Anda mengetikkan cabang yang selalu Anda ketikkan (untuk melihat cabang. Dari daftar ini, Anda akan dapat melihat id bernomor dan keterangannya. Cukup masukkan beberapa angka, tab, dan itu akan

dmck
sumber
Saya setuju, dan saya menambahkan ini - saya pikir konyol untuk tidak setuju dengan kompromi ini.
Codeman
Apakah autocomplete hanya berfungsi sejak awal nama cabang? bisakah kamu menaruh ID di akhir? Saya tidak menggunakan fungsionalitas autocomplete jadi saya tidak terbiasa dengannya.
dmck
ya, ini bekerja dari awal sampai akhir - jika Anda ingin team-name/12345-my-ticket-fixAnda harus mengetik team-name/123TAB, pada dasarnya.
Codeman
@ Pheonixblade9 Lihat hasil edit saya untuk solusi yang mungkin, meletakkan (sebelum ID harus mencegah Anda dari harus mengetahui ID saat mengetik nama cabang
dmck
1

Tidak masalah asalkan ada sistem yang konsisten yang disetujui dan dipahami semua orang.

Saya akan mengatakan bahwa dengan nomor tiket akan membuat hal-hal lebih mudah diingat untuk cabang mana yang harus dikerjakan. Karena mereka langsung mengikat ke nomor masalah daripada deskripsi. Melakukan deskripsi saja tampaknya membuatnya lebih sulit untuk mengingat masalah spesifik mana yang seharusnya dan bisa menjadi panjang lebar berusaha untuk menghindari menjadi kabur.

team-name/bug-that-has-specific-circumstances-to-occur-and-takes-alot-to-describe

Schleis
sumber
0

Memberi nama sesuatu hanya untuk memanfaatkan autocomplete adalah hal yang bodoh.

Saya setuju bahwa tautan ke pelacak bug itu penting (lebih penting daripada nama baik karena mendefinisikan masalah yang sedang dipecahkan oleh cabang yang beberapa kata tidak) tetapi pada saat yang sama, ini merupakan kegagalan penggunaan untuk mengharapkan orang untuk mengetahui perbedaan antara bug # 7312 dan # 7213. Juga merupakan kegagalan untuk mengharapkan orang mendapatkan angka-angka dengan benar setiap kali - suatu hari seseorang akan berkomitmen ke cabang yang salah karena mereka salah membaca / salah ketik 7312 untuk 7213. (seseorang di tim saya melakukannya hari ini!)

Jadi, keduanya - beri nomor cabang dan tambahkan deskripsi teks yang sangat singkat hanya untuk bertindak sebagai cek. Saya akan meletakkan nomornya terlebih dahulu - pelengkapan otomatis akan terkutuk - karena Anda masih harus mengetahui teks cabang (misalnya "bug-fix-for-server" atau "fix-bug-for-server" - Anda masih perlu tahu jika dimulai dengan f atau b!)

gbjbaanb
sumber