Jadi saya membaca pertanyaan ini. Haruskah saya menghapus kode yang tidak direferensikan?
Beberapa saran adalah menghapus kode yang tidak direferensikan karena kode tersebut dalam kontrol sumber untuk referensi jika diperlukan nanti.
Bagaimana Anda mengatur kode yang dihapus ini sehingga versi Anda yang lebih baru (atau programmer lain) dapat menemukannya nanti? Apakah Anda membuat cabang terpisah atau menandainya dalam kontrol sumber, entah bagaimana?
Saya belum pernah menghidupkan kembali kode yang dihapus dari kendali sumber sebelumnya, saya sebagian besar hanya menggunakannya untuk melacak perubahan pada kode yang masih hidup. Saya telah mereferensikan cabang sebelumnya ketika mereka memuat karya eksperimental orang lain, jadi mungkin itu cara yang baik untuk menandai bagian kode yang menarik yang dihapus di trunk?
sumber
Jawaban:
Kecuali jika Anda bereksperimen di cabang dan belum yakin solusi mana yang pada akhirnya akan diintegrasi kembali, Anda biasanya tidak merujuk pada kode yang dihapus.
Anda mungkin, pada kesempatan yang sangat jarang , secara eksplisit menggali kode yang dihapus yang Anda ingat samar-samar menyelesaikan masalah yang Anda miliki saat ini . Namun, alasan yang lebih umum Anda akan melihat kode yang dihapus adalah ketika Anda melihat melalui jaminan untuk memahami sesuatu tentang kode atau perilaku aplikasi saat ini sehubungan dengan kode atau perilaku historisnya.
Secara khusus, Anda mungkin ...
... dll.
Dan dalam kasus itu, Anda biasanya tidak membangkitkan kode lama. Anda hanya memahami sesuatu yang Anda lihat sekarang menggunakan kode yang dihapus untuk konteks atau panduan.
sumber
Saya kira, jawabannya adalah: Sebagian besar programmer tidak peduli untuk referensi kode yang dihapus. Untuk beberapa alasan. Beberapa alasan yang muncul di benak saya adalah:
Mungkin yang paling penting, kemalasan murni ...
Kebanyakan tidak pernah merasa perlu untuk menghidupkan kembali beberapa kode, sehingga mereka tidak memiliki pengalaman yang memotivasi mereka untuk membuat kode kebangkitan lebih mudah.
Sebagian besar kode yang dihapus dihapus karena suatu alasan. Biasanya, ini digantikan oleh beberapa kode lain yang lebih baik, setara secara fungsional, atau lebih kuat. Mengapa ada orang yang ingin menghidupkan kembali kode inferior?
Perhatikan bahwa ini juga merupakan masalah psikologis lagi: Sebagian besar programmer cukup bangga dengan hasil pekerjaan mereka. Bagaimana mungkin terlintas dalam pikiran bahwa masih ada nilai dalam apa yang mereka gantikan?
Karena sebagian besar kode tidak sepenuhnya dihapus, tetapi diganti, antarmuka yang telah diubah dalam transisi menyediakan informasi yang cukup jika Anda benar-benar perlu melacak kode yang dihapus karena beberapa regresi yang diperkenalkan oleh kode baru.
Tapi, terlepas dari seberapa banyak atau kurang alasan yang sah Anda dapat mengabaikan kode mati ini, saya pikir itu benar-benar hanya "tidak peduli" pada bagian dari programmer. Dan bahkan jika Anda mencoba menandai barang yang dihapus dengan beberapa atau cara lain, bersiaplah untuk sepenuhnya diabaikan dengan upaya itu ...
sumber
Pertanyaan ini mungkin kembali pada "Bagaimana Anda menjaga keterlacakan checkin VCS Anda terhadap database bug dan persyaratan sistem Anda?"
Saat-saat ketika orang pergi untuk menghidupkan kembali kode dari kontrol Sumber cenderung saat-saat ketika Anda mengetahui bahwa ada sesuatu yang tidak sengaja rusak dan perlu dibawa kembali.
Hal paling penting dalam skenario itu bagi seseorang yang mencari sedikit kode yang dihapus adalah bahwa mereka dapat dengan mudah melacaknya dengan melihat melalui database persyaratan dan alat pelacakan bug; karena mereka cenderung mencari persyaratan tertentu, atau kata-kata yang menggambarkan fungsionalitas. Mereka tidak mungkin mengetahui nama file sumber atau kelas / fungsi yang dihapus.
Jika Anda ingin melacak beberapa kode eksperimental / menarik yang harus dikeluarkan sebelum rilis, Anda bisa melacaknya dengan beberapa tiket "bug" di sepanjang baris "Hapus kode yang tidak digunakan untuk ..." . Atau mungkin memperkenalkan jenis tiket baru ke sistem untuk fitur Prototipe .
Jadi untuk menjawab pertanyaan secara langsung - jangan gunakan cabang / tag di sistem VCS Anda untuk melacak kode yang dihapus - gunakan alat pelacak perubahan Anda.
sumber
Saran ini ditujukan bagi orang yang menyimpan kode usang dalam basis kode "untuk berjaga-jaga". Karena kode masih akan ada dalam kontrol sumber, Anda tidak perlu takut menghapusnya. Anda tidak benar-benar mengatur kode yang dihapus seperti itu, karena intinya adalah bahwa itu tidak diperlukan lagi. Anda hanya menambahkan pesan komit yang menunjukkan apa yang diubah dan dihapus di komit. Pesan komit yang paling relevan untuk kode yang dihapus adalah pesan pada saat kode tersebut pertama kali ditambahkan, bukan pesan ketika itu dihapus lagi.
"Kerja eksperimental" benar-benar masalah yang berbeda. Anda harus memiliki cabang terpisah untuk itu.
sumber