Menulis pesan komit sebagai pengembang solo?

30

Pada proyek saya di mana repositori dibagi antara saya dan programmer lain, saya selalu menulis pesan komit bahkan jika saya adalah pengembang utama.

Tetapi pada proyek-proyek di mana saya adalah pengembang tunggal yang mengerjakan sebuah proyek, dan repositori di-host di laptop pribadi saya, dan bahkan tidak di-host oleh klien, maka tidak ada seorang pun kecuali saya yang akan melihat komitmen, haruskah saya masih menulis commit pesan?

Sejauh ini saya telah menulisnya, tetapi saya menemukan bahwa saya tidak pernah kembali dan melihat pesan komit saya. Saya mengambil waktu luang pengembangan untuk menulis pesan, tetapi kemudian mereka tidak pernah terlihat lagi bahkan oleh saya.

Apakah ada alasan bagus untuk menulis pesan komit sebagai pengembang solo, atau haruskah Anda mengabaikannya agar tetap fokus pada pengembangan?

Klik Upvote
sumber
14
"Saya tidak pernah kembali dan melihat pesan komit saya" yah pertama kali Anda harus kembali, mungkin akan memberi Anda alasan yang bagus. Sebenarnya, berjalan dengan sepatumu, aku mungkin akan melakukan komitmen diam sampai comeback pertama terjadi
Agak
5
"Saya selalu menulis pesan komit bahkan jika saya adalah pengembang utama." Anda pikir itu tidak biasa? Tentu saja pengembang utama harus menulis pesan, bahkan lebih dari pengembang lain (yang sudah 100% dari waktu).
AlbeyAmakiir
7
Pesan komit adalah emas murni ketika Anda mulai memelihara versi lama dari perangkat lunak Anda, dan bukan hanya yang terbaru.

Jawaban:

43

Nah inilah salah satu alasannya: Jika Anda tiba-tiba menyadari sesuatu telah rusak selama beberapa ratus komit terakhir (mungkin jika Anda komit di setiap suntingan minor, kurang layak jika Anda, seperti saya, hanya melakukan snapshot "stabil"), Anda dapat lebih mudah temukan di mana Anda telah memasukkan bug jika Anda menulis pesan komit yang jelas, daripada "perbaikan bug." (String favorit seorang kolega, saya percaya). Tentu, Anda bisa menggunakan svn logSCM atau apa pun yang Anda gunakan, tetapi harus lebih mudah sebaliknya.

Pesan-pesan komit juga memaksa Anda untuk berpikir apa yang sebenarnya telah Anda lakukan sebagai perubahan dan, saya percaya, menyimpulkan dalam pikiran Anda bagaimana cara terbaik untuk terus meningkatkan proyek.

K.Steff
sumber
13
+1 untuk paragraf terakhir. Saya menemukan bahwa menulis pesan komit yang tepat membutuhkan waktu nol karena saya selalu tahu mengapa saya melakukan perubahan.
Stephen Darlington
5
Untuk hal-hal solo saya, saya memiliki pesan komit saya sebelum saya mengerjakan sesuatu. Saya melakukan hal kecil (bertujuan selama 30-45 menit ... punya istri dan anak-anak di sini!), Dan melakukan itu. Mungkin Anda bisa menyebutnya pengembangan yang didorong oleh komitmen?
corsiKa
52

Saya berusaha selalu. Berapa kali Anda melihat ke belakang dan berpikir, "Astaga, apa yang saya lakukan ketika saya membuat perubahan ini." Saya selalu melakukannya. Menulis pesan selama 30 detik dapat menghemat waktu 20 menit untuk berusaha mengingatnya.

kemiller2002
sumber
12
Ini juga membantu saat membuat laporan bulanan. Daftar pesan komit adalah awal yang baik untuk laporan
mhoran_psprep
2
Ya, dan itu benar-benar hanya membutuhkan satu waktu di mana Anda membutuhkannya untuk membayar kembali untuk waktu yang dibutuhkan melakukan komentar.
tzerb
20

Apakah Anda benar-benar percaya bahwa biaya overhead untuk mengetik sekitar 40 hingga 80 karakter dalam bahasa Inggris sederhana adalah biaya tambahan yang signifikan untuk sebuah komit, atau apakah Anda mencari alasan untuk malas?

Mungkin masalah Anda diungkapkan dalam bahasa Inggris yang sederhana mengapa Anda membuat perubahan, dalam hal ini, Anda mungkin perlu meninjau tujuan perubahan tersebut, bahkan sampai pada titik bertanya pada diri sendiri apakah Anda benar-benar perlu melakukannya.

Saran saya adalah jangan berpikir bahwa karena Anda terbang solo Anda dapat melanggar aturan. Tetap profesional setiap saat, dan tambahkan pesan komit yang bermakna. Seperti dicatat oleh reponders lain, suatu hari Anda akan berterima kasih padanya.

mattnz
sumber
14
  • Anda tidak akan selalu menjadi pengembang solo.

  • Anda pada akhirnya akan merusak basis kode Anda dan berusaha mengembalikannya. Pesan komit yang baik akan menghemat waktu Anda.

  • Anda tidak dapat mengingat apa yang sedang Anda kerjakan tiga minggu lalu, bukan?

  • Pesan komit harus sangat jelas. Jika tidak, maka Anda belum selesai mengerjakan tugas, atau satu tugas telah tersebar di dua atau lebih tugas.

CodeART
sumber
7

Jelas, atau Anda membuat fitur seperti percabangan dan penggabungan jauh lebih sulit untuk digunakan. Dan Anda akan ingin menggunakannya, bahkan jika pengembang solo.

jmruc
sumber
6

Satu kemungkinan alasan untuk: memaksa Anda untuk berpikir lebih abstrak tentang perubahan yang baru saja Anda buat, dan untuk menyusun perubahan.

Jika terasa tidak ada gunanya, mungkin hanya berkomentar perubahan besar, atau yang mengubah fungsi yang ada, jika Anda pernah mencari sumber perilaku aneh.

Steve Bennett
sumber
Menarik untuk melihat kembali jawaban ini. Saya mengambil posisi yang agak ekstrem baru-baru ini: tidak ada pesan komit sama sekali. Tapi itu pada proyek HTML / JS cukup datar di mana saya tidak bisa membayangkan pernah mencoba melacak regresi. Segala upaya yang dihabiskan untuk menulis pesan komit hampir pasti akan lebih baik dihabiskan di tempat lain. (Tidak semua proyek ada dalam kategori ini!)
Steve Bennett
4

Saya menjadi satu-satunya pengalih pada proyek TXR, dan telah menyimpan ChangeLog terperinci sejak awal proyek. Panjangnya hampir 11.000 baris dan terus bertambah: http://www.kylheku.com/cgit/txr/tree/ChangeLog

(Pesan komit dalam repo hanyalah salinan dari apa yang ada di ChangeLog.)

[2016 edit: pada pertengahan 2015, saya tidak lagi mempertahankan file ChangeLog; namun, pesan komit ditulis dalam format yang sesuai dengan konvensi Git dan ChangeLog secara bersamaan. Tingkat detail yang sama ada di sana, dengan cara yang tidak menyebabkan masalah gabungan. File ChangeLog dapat direkonstruksi secara mekanis dari komentar-komentar ini.]

Ya, lebih dari sekali saya kembali ke pesan komit lama yang terkait dengan perubahan yang merusak sesuatu (terbongkar dengan bantuan git bisect). Pesan itu membantu saya memahami apa yang saya lakukan.

Di ChangeLog Anda bisa mengetahui kapan suatu fungsi, tipe, makro atau variabel global pertama kali diperkenalkan dan kapan kemudian disentuh oleh perubahan.

Tetapi alasan utama untuk menulis pesan komit terperinci seperti ini ketika bekerja sendiri adalah ini: Anda menemukan bug saat melakukan ini .

Menulis pesan komit mendetail memiliki manfaat yang serupa dengan ulasan kode komit Anda oleh orang lain. Nilai dalam ulasan komit bukanlah seberapa banyak seseorang memeriksa kode Anda, tetapi Anda harus menjelaskan perubahan Anda kepada pengembang lain.

Ketika Anda mencoba menjelaskan sesuatu, Anda kadang-kadang menemukan bahwa itu tidak masuk akal.

Alasan lain: Anda dapat menemukan diri Anda melakukan perubahan yang tidak berguna . Dengan menulis komentar komit terperinci, Anda menangkap pandangan tingkat tinggi tentang apa yang Anda lakukan, dan terkadang Anda dihadapkan pada kenyataan bahwa itu bukan perubahan yang baik.

Saya terkadang membuat perubahan, ketika di tengah penulisan entri ChangeLog saya menyadari bahwa ini akan menjadi git reset --hard(membuang perubahan tidak berguna ini) daripada git commit -a.

Kaz
sumber
3

Meskipun Anda belum menemukan kebutuhan untuk melihat pesan komit Anda, Anda mungkin sangat berterima kasih untuk mereka di masa depan. Anda harus terus menulisnya bahkan untuk diri Anda sendiri. Ada banyak alasan mengapa hal itu berguna nantinya (Anda lupa mengapa Anda menambahkan fitur, mencari file yang hilang, dll.)

Berikut adalah pertanyaan terkait tentang tujuan dari pesan komit: Mengapa Saya Harus Menulis Pesan Komit

hfitzwater
sumber
3

Saya selalu berkomitmen dengan pesan yang bermakna tentang perubahan, dan saya sering melakukannya dengan perubahan tambahan.

Apakah ini selalu hal yang paling bermanfaat? Tidak, tidak ada masalah dalam melakukannya. Jika Anda perlu kembali ke tahap sebelumnya dalam proses, pesan Anda akan memberi tahu Anda di mana Anda berada dan apa yang telah Anda lakukan. Ini juga dapat digunakan untuk melacak kemajuan suatu proyek. Karena itu dianggap sebagai buang-buang waktu, apakah 30 detik yang diperlukan untuk menuliskan kalimat benar-benar penting?


sumber
3

Saya tidak melihat perbedaan mengenai pesan komit apakah Anda bekerja dalam tim atau tidak. Anda ingat apa yang Anda lakukan di sini atau di sana hanya untuk waktu yang terbatas, dan setelah itu sama seperti jika orang lain menulisnya. Jadi, Anda harus menulis pesan sebaik yang Anda lakukan untuk orang lain.

Malcolm
sumber