Haruskah pesan commit ditulis dalam bentuk sekarang atau masa lampau? [Tutup]

102

Jadi mana yang menurut Anda lebih baik dan lebih intuitif?

Fixed the XXX bug in YYY
Fix the XXX bug in YYY
Fixes the XXX bug in YYY
Fixing the XXX bug in YYY

Harap berikan alasan Anda. Catatan Saya bertanya dari perspektif umum Anda, yang berarti Anda tidak boleh mencoba mengasosiasikan ini dengan alat svn / cvs atau bahasa pemrograman pilihan Anda, tetapi menganggapnya sebagai sesuatu yang harus / dapat diterapkan pada alat dan bahasa pemrograman apa pun.

Her
sumber
Seseorang di tempat kerja Anda terlalu bertele-tele, saya harap itu bukan Anda. Siapapun itu harus mempertimbangkan present perfect vs. present imperfect, dan teka-teki filosofis apakah komit komit dibaca seolah-olah dari saat diketik, atau saat itu sendiri disimpan ke repositori. Jika yang terakhir, gunakan present perfect untuk tindakan yang diselesaikan. Jika yang pertama, gunakan tidak sempurna untuk aktivitas sekarang yang belum selesai.
Heath Hunnicutt
1
Bukan penipu dari pertanyaan itu. Ini menanyakan tentang satu aspek kecil, bukan pedoman keseluruhan.
3
Untungnya tidak. Saya bertanya, mencoba mencari tahu, ingin tahu apa praktik umum di luar sana. Jika saya harus mengatakan yang sebenarnya, ini sebenarnya pertanyaan paling tidak penting yang pernah saya tanyakan tentang SO, tapi hei, ini masih pertanyaan, bukan? Pertanyaan itu sendiri telah memperoleh tiga suara, yang (jika tidak jelas bagi Anda) mengatakan bahwa saya bukan satu-satunya di luar sana yang berpikir bahwa pertanyaan ini sendiri valid. Saya mencari jawaban yang membangun dan Anda tidak membantu sama sekali.
Nya
1
Jika Anda berpikir bahwa orang tidak perlu terlalu khawatir tentang tenses dalam pesan commit, katakan saja, sebutkan alasan dan preferensi Anda. Jauh lebih berguna dan bermanfaat daripada komentar sarkastik Anda di atas.
miliknya
10
Saya menanggapi pertanyaan ini dengan sangat serius. Ini pertanyaan yang bagus. Konsistensi sangat penting saat mengembangkan perangkat lunak, dan karenanya harus menarik bagi semua pengunjung yang tertarik dengan topik situs web ini. Itu pendapat saya.
Niklas Berglund

Jawaban:

39

Saya memikirkan pesan-pesan ini seperti yang ditampilkan oleh pengembang lain. Mereka belum menerapkan perubahan, dan ada pertanyaan implisit, "apa yang akan dilakukan dengan menerapkan perubahan / patch ini?" Ini akan "Memperbaiki bug XXX di YYY"!

Untuk kata kerja lain menulisnya sebagai perintah tampaknya lebih alami, dan bekerja lebih baik jika Anda memiliki tujuan tertentu di depan — Anda benar-benar dapat menulis ringkasan komit bersama dengan tes di muka sebelum pekerjaan selesai.

Saya tidak terlalu membebani itu, tetapi bagi saya ini adalah jalan yang paling sedikit perlawanannya sambil mempertahankan konsistensi.

Roger Pate
sumber
8
Saya ingat menemukan sesuatu di dokumentasi git yang sangat merekomendasikan bentuk ini, tetapi saya masih merasa canggung.
keithjgrant
1
Ini adalah bagian dari dokumentasi Git.
sschuberth
31

Saya pribadi menggunakan bentuk lampau ("diperbaiki") karena pada saat saya melakukan kesalahan, bug sudah diperbaiki (atau saya tidak akan melakukannya).

cletus
sumber
Bisakah Anda memberi contoh tentang ini?
bzlm
15
contoh ini.
Pendeta Gonzo
Ini disebut 'Commit History'. Sejarah selalu ditulis dalam bentuk lampau. Jadi bentuk lampau lebih masuk akal. Saat Anda menelusuri beberapa riwayat komit repo juga, Anda melihat apa yang telah dilakukan padanya ... di masa lalu!
Siwa
13

Saya lebih suka melihat pesan komit dalam bentuk sekarang. Dengan cara itu pesan menjelaskan apa yang dilakukan oleh diff (karena Anda mungkin menarik diff atau bahkan komit keseluruhan ke dalam cabang yang berbeda). Jadi, pesan komit tidak menjelaskan apa yang "dilakukan" olehnya ... Ini menjelaskan apa yang "dilakukan" oleh komit itu sendiri. Jadi harus dalam bentuk sekarang.

Bayangkan melihat perbedaan dalam isolasi dan mencoba memutuskan apakah Anda akan menerapkannya. Tidak masuk akal untuk memiliki judul dalam bentuk lampau.

TedPavlic
sumber
1
"apa yang dilakukan diff" tetapi diff dibuat oleh komit yang telah dikomit , itu sudah ada dalam riwayat git, jadi sudah "diterapkan".
Iulian Onofrei
9

IMHO jika Anda ingin deskriptif tanpa perlu mempertimbangkan konteksnya, maka "Fixed" adalah satu-satunya varian yang tepat.

Mengenai intuisi - jika saya melihat beberapa changelog saya pasti akan mengerti bahwa yang Anda maksud bug diperbaiki karena saya tahu konteks di mana kata itu digunakan, tetapi otak saya akan menangkapnya lebih cepat jika kata itu ditulis dalam diri ini- menentukan cara.

"Memperbaiki" adalah pilihan terburuk IMHO karena dapat diartikan tidak hanya sebagai menjelaskan untuk apa tambalan itu (untuk) tetapi sebagai status bug juga yang berarti bahwa itu sedang dikerjakan dan belum dipecahkan.

Ivan
sumber
7
Fix the XXX bug in YYY
Teach the XXX to be more ZZZ
Correct typos in javadoc

Secara umum: {kata kerja imperatif} {objek yang terpengaruh} {kualifikasi opsional}

Bentuk imperatif cocok untuk semua kasus penggunaan saat saya mempertimbangkan patchset.

  • Apa yang akan kamu lakukan disini?
  • Apa yang dilakukan patchset ini?
  • Mengapa patchset ini dibuat? (untuk memperbaiki bug xxx ...)
  • Saya perlu memperbaiki bug xxx pada tahun yyy. Apakah ada komit di cabang lain yang sudah melakukan ini?

Terlepas dari pilihan Anda, saya menemukan konsistensi sangat membantu keterbacaan. Pilih satu dan pertahankan.

phord
sumber
4
Alasan yang sangat bagus. Saya selalu menganggapnya seolah-olah pesan tersebut mengatakan "Saya adalah patch dan saya [pesan]". Dengan cara itu Anda selalu memulai dengan kata kerja imperatif.
florisla
5

Menurut saya, menulis tentang commit saat ini dalam bentuk waktu sekarang adalah ide yang bagus, karena akan lebih jelas jika Anda merujuk ke komitmen sebelumnya di bentuk lampau.

Ken Bloom
sumber
1
Saya setuju. Jika komit merujuk ke dirinya sendiri, itu juga benar, seperti dalam "Komit ini memperbaiki bug F00F".
bzlm
4

Saya tidak berpikir itu terlalu penting. Tujuannya adalah untuk:

1) Sampaikan apa yang sedang atau sedang dilakukan, sehingga bug lebih mudah ditemukan, masalah dapat dipulihkan dengan lebih mudah, dan umumnya dapat mempertahankan proyek dengan lebih mudah.

2) Sampaikan tiket apa yang telah diperbaiki jika ada, sehingga auditor (jika digunakan di perusahaan Anda dapat melihat perubahan apa yang sesuai dengan tiket mana).

Terakhir, jika 'sudah diperbaiki, "Memperbaiki" tidak masuk akal, dan jika Anda masih mengerjakannya, "Diperbaiki" tidak benar.

Pendeta Gonzo
sumber
1
Tentu, secara tegas, itu benar bahwa itu tidak terlalu penting. Tetapi jika Anda harus memilih satu, ketika Anda telah memperbaiki bug di pohon lokal Anda dan ingin melakukan perubahan yang dilakukan, apakah Anda mengatakan "Memperbaiki XXX" atau "Memperbaiki XXX" atau "Memperbaiki XXX"?
Nya
1
Saya pikir itu penting jika teksnya terlalu singkat. Kadang-kadang saya melihat pesan komit yang membuat saya bertanya-tanya apakah 1. bug ditemukan atau benar-benar diperbaiki, atau 2. apakah perbaikan telah diakui atau benar-benar diterapkan, atau 3. apakah perilaku keliru yang kompleks telah diperbaiki sebagian atau benar-benar sepenuhnya. Dan terkadang beberapa komit berhubungan dengan bug yang sama. Dalam "Komit ini memperbaiki masalah goyang di DrawBall () dan menutup tiket 666", tense tidak penting, karena teksnya bertele-tele. Tapi untuk "DrawBall () memantul salah", apa yang dilakukan komit?
bzlm
2

" Perbaiki bug X " lebih pendek 2 karakter daripada " Memperbaiki bug X ".
Dan 3 lebih pendek dari " Memperbaiki bug X ".

Dari sudut pandang penulisan-pesan-komit-pendek, bentuk waktu sekarang terkadang / biasanya menyimpan beberapa karakter?
Yang menurut saya penting sedikit, misalnya dengan rekomendasi Git tentang kurang dari 50-karakter-di-baris-komit-pesan-pertama.
Juga, lebih sedikit teks -> selesai membaca lebih cepat?

KajMagnus
sumber
1

Pesan komit menjelaskan mengapa Anda menulis kode yang sedang dikomit.

"Memperbaiki masalah 3124", atau "Memperbaiki masalah 3124" tampaknya benar karena dikatakan kode ini diperbaiki | memperbaiki masalah 3124.

Namun, tata bahasanya mungkin juga bergantung pada mengapa menandai bug sebagai diperbaiki. Jika Anda dapat menandai bug sebagai diperbaiki setelah melakukan, maka "Diperbaiki" baik-baik saja, tetapi jika bug akan ditandai sebagai diperbaiki oleh orang lain setelah mereka memverifikasi kode Anda, maka "Perbaikan" mungkin lebih tepat.

Parag
sumber
0

Saya pikir jawaban paling penting untuk pertanyaan semacam itu adalah: Setiap orang harus menggunakan apa yang berhasil untuk proyek tertentu dan menjaganya tetap konsisten.

Meskipun saya melihat keuntungan menggunakan present tense (dan sebenarnya tersandung pada posting ini karena saya telah melihat beberapa pesan present tense dalam proyek open source), saya mungkin tidak akan pernah tidak menggunakan present tense untuk proyek saya. Ini adalah cara yang direkomendasikan untuk Linux dan Git, dan mungkin proyek open source lain yang lebih besar, tapi sejujurnya saya tidak peduli selama saya bukan bagian dari proyek ini.

Saya seorang pengembang indie dan saya menggunakan baris pertama dari pesan komit untuk catatan rilis sementara deskripsi di baris berikut memberi saya gambaran tentang detail implementasi. Ini adalah alur kerja yang berpusat pada pengguna dibandingkan dengan pendekatan berbasis pengembang saat ini. Saya bisa menghemat waktu dengan cara ini. Akan sangat tidak wajar untuk memberikan instruksi kepada pengguna saya di catatan rilis. Tugas saya adalah memperbaiki bug dan menambahkan fitur. Saya harus menghemat waktu, karena saya seorang indie. Saya tidak memiliki "penulis catatan rilis" di tim saya.

Gunakan aturan proyek jika sudah ditetapkan, tetapi tetap pragmatis, dan lakukan apa pun yang akan membuat pekerjaan Anda lebih mudah atau lebih cepat.

Rafael Bugajewski
sumber
-1

Saya pikir "Fixes XXX bug"lebih masuk akal daripada "Fix XXX bug"jika alasan menggunakan present tense adalah untuk "membuatnya lebih deskriptif tentang apa yang dilakukan commit" daripada apa yang dilakukan pelaku.

technophyle
sumber
-4

Jika itu adalah komit kecil, saya menggunakan present continuous:

Memperbaiki bug 304

atau

Menambahkan komentar

Jika itu komit besar, saya melakukan lebih banyak perubahan log:

  • Memperbaiki Bug 453, 657 dan 324
  • Menambahkan sintaks Expression
  • Memperbaiki kelas Operator.
tster
sumber
9
dengan kata lain Anda mencampur semuanya mau tak mau B-)
Brian Postow
Kurang lebih. Karena pada akhirnya, pesan komit tidak perlu bahasa Inggris ratu.
tster
2
Anda tidak boleh melakukan banyak hal berbeda dalam satu komitmen.
florisla