Jika saya menemukan kesalahan ketik dalam kode (misalnya, tanda kesalahan dalam pernyataan cetak (kesalahan)), apakah ada baiknya membuat komitmen untuk menyelesaikan kesalahan itu, atau haruskah itu dibiarkan begitu saja?
Secara khusus, saya ingin tahu tentang menimbang penyempurnaan log komit terhadap nilai penyelesaian kesalahan ketik yang tidak kritis ini. Saya condong ke arah menyelesaikannya. Apakah saya menjadi orang yang bertele-tele?
version-control
grammar
Christopher Berman
sumber
sumber
Jawaban:
Perasaan pribadi saya adalah bahwa peningkatan kualitas sepadan dengan ketidaknyamanan kecil dari entri log komit tambahan, bahkan untuk perbaikan kecil. Lagi pula, peningkatan kecil sangat penting ketika Anda memfaktorkan efek jendela yang rusak .
Anda mungkin ingin mengawali dengan
TRIVIAL:
tag, atau menandainya sebagai sepele jika VCS Anda mendukungnya.sumber
Anda tidak bertele-tele, dan lebih baik untuk menyelesaikannya secara individual. Semakin banyak perubahan atom, semakin baik - Anda tidak ingin memperbaiki bug yang menabrak dicampur dengan 500 perubahan komentar / kesalahan ketik.
sumber
Dalam Kasus Umum: Ya
Itu selalu layak untuk meningkatkan pemeliharaan perangkat lunak Anda.
Lakukan saja.
Jika Anda baru akan mengirimkan rilis ...
... dan jika Anda bukan pemimpin tim, maka tanyakan padanya .
Mengenai konten dari log komit ...
Saya setuju dengan orang lain bahwa Anda setidaknya harus menulis sesuatu yang membuatnya berbeda dari komitmen terkait "fitur", jika hanya tentang memperbaiki kesalahan ketik yang terisolasi.
Praktik umum adalah memiliki beberapa tugas yang tidak pernah mati di pelacak masalah Anda untuk melacak perubahan abadi dan tak berkesudahan. Misalnya, tidak jarang memiliki tugas untuk:
Berhati-hatilah karena ini tidak digunakan sebagai ID tugas yang dibuang untuk apa saja ketika orang menjadi malas membuat tiket yang didokumentasikan dengan benar. Terutama jika Anda menolak komit yang tidak tertaut ke ID (yang merupakan hal yang baik, tetapi tugas besar seperti ini akan lebih menarik bagi pengembang yang malas).
sumber
Kesalahan ketik harus ditambahkan sebagai komit. Memperbaiki kata yang salah eja atau kesalahan tata bahasa akan meningkatkan keterbacaan kode Anda.
Menggunakan pesan komit seperti "Fixed typo" atau "Fixed typo in file.c" akan membantu Anda membedakan komit ini dari komit kode utama lainnya.
sumber
Ya, Anda harus benar-benar melakukan ini, terutama di awal proyek.
Mengapa? Dua poin:
Anda mungkin tidak akan tahu apakah kesalahan ketik "kritis" atau tidak sampai semuanya terlambat. Beberapa perbaikan mungkin tidak diperbaiki karena semua orang berpikir itu tidak akan menjadi masalah besar. Sampai itu.
Memperbaiki kesalahan ketik sejak dini dan dengan sengaja akan jauh lebih mudah daripada memperbaikinya setelah beberapa ratus baris panggilan kode / fungsi dilakukan. Sekali lagi, peretasan sementara bisa menjadi semi permanen secara mengejutkan dengan cepat. Inilah sebabnya saya harus berurusan dengan objek yang memiliki kedua metode "CollapseAll" DAN "ColapseAll".
sumber
Untuk kesalahan tata bahasa yang dapat dilihat oleh pengguna akhir, maka ya, tentu saja layak untuk membuat komit karena sangat mungkin bahwa pengguna atau QA dapat datang dan melaporkan kesalahan dan itu perlu dilacak. Jika sudah diperbaiki maka bisa mempercepat waktu yang dibutuhkan untuk menyelesaikan masalah.
Jika itu adalah kesalahan tata bahasa dalam komentar di sekitar kode, saya tidak akan melakukan apa-apa kecuali itu adalah bagian dari perubahan kode aktual juga dalam hal ini Anda memperbarui dokumentasi kode.
sumber
Jika Anda khawatir akan membuat log komit, maka Anda melakukan sesuatu yang salah. :-) Sering melakukan adalah hal yang baik! Saya melakukan perbaikan kesalahan ketik sepanjang waktu. Dapatkan mereka dalam basis kode ASAP dan percepat siklus dev!
sumber
I commit typo fixes all the time
IMO yang mengkhawatirkan, cobalah mencari programmer dengan bahasa Inggris yang lebih baik?Saya memilih ya. Check in Anda bisa membayangkan keadaan kode. Sebenarnya kode itu tidak mengerikan, tetapi keluar seperti pengkhianatan daripada mengalir seperti anggur.
sumber
Apakah proses manajemen perubahan Anda mengizinkannya?
Di lingkungan saya, setiap komitmen yang saya buat harus diikat kembali ke permintaan perubahan yang telah diminta baik oleh pengguna bisnis atau perubahan tingkat sistem wajib, lengkap dengan proses pengujian pengguna akhir yang sesuai. Kesalahan ketik sederhana seperti yang Anda gambarkan mungkin tidak akan dicatat sebagai salah satu dari kesalahan tersebut (Saya menemukan kesalahan ketik & tata bahasa di salah satu aplikasi saya yang ada selama lebih dari 4 tahun tanpa ada yang memperhatikan), jadi jika / ketika auditor datang menelepon aku akan mengalami kesulitan menjelaskan diriku sendiri.
Saya akan menyimpan perubahan seperti yang Anda gambarkan (dan sebenarnya memilikinya, sebetulnya - nama metode salah eja dan saya baru saja menemukannya) untuk waktu ketika saya memiliki perubahan "nyata" yang perlu dibuat juga dan meletakkan "memperbaiki berbagai kesalahan ketik" di log.
sumber
Gunakan DVCS untuk mengedit riwayat
Jika Anda khawatir tentang riwayat komit yang bersih, pertimbangkan untuk melakukan pekerjaan utama Anda di cabang fitur . Jika Anda bekerja dengan VCS yang didistribusikan , Anda dapat dengan mudah mengedit riwayat komit Anda sebelum mendorongnya ke cabang utama. Jika Anda menggunakan SVN, coba Git - ini dapat berinteraksi dua arah dengan Subversion, dan Anda juga dapat mengedit riwayat sebelum benar-benar melakukan Subversion.
Jaga akal sehat jika tidak
Jika Anda tidak ingin atau tidak dapat mengedit riwayat komit, tidak ada alasan fungsional untuk melakukan komit awal atau atomik untuk kesalahan ketik minor yang tidak memengaruhi pengujian atau kompilasi otomatis . Dalam kasus ini, menurut pendapat saya, menjaga kebersihan commit harus lebih penting daripada melakukan komitmen yang benar-benar atom. Menggabungkan satu atau dua koreksi kesalahan ketik dengan modifikasi "biasa" tidak akan membahayakan proses peninjauan potensial. Namun Anda mungkin ingin mengelompokkan beberapa koreksi sepele menjadi satu komit, mungkin ketika "membersihkan" setelah sesi pengkodean yang lebih besar.
Perhatikan bahwa bug fungsional masih harus dilakukan SECEPATNYA dalam komit atomik.
Nada umum dari jawaban di sini tampaknya menyarankan strategi "komit semuanya cepat" bahkan untuk kesalahan ketik kecil. Saya cenderung tidak setuju dan menyambut diskusi.
sumber