Saya mencoba mencari cara untuk menganalisis umur panjang kode dalam proyek open source: yaitu, berapa lama baris kode tertentu aktif dan sedang digunakan.
Pemikiran saya saat ini adalah bahwa rentang umur kode dimulai ketika pertama kali dilakukan, dan berakhir ketika salah satu dari berikut terjadi:
- Sudah diedit atau dihapus,
- Dikecualikan dari bangunan,
- Tidak ada kode dalam pengembangannya yang dipertahankan untuk beberapa periode waktu (katakanlah, setahun).
CATATAN: Sebagai klarifikasi mengapa "sunting" dihitung sebagai "kematian", baris yang diedit akan dihitung sebagai generasi "baru", atau baris kode. Juga, kecuali ada cara mudah untuk melakukan ini, tidak akan ada perhitungan umur panjang garis keturunan, atau keturunan dari leluhur.
Apa lagi yang akan menentukan rentang umur kode?
version-control
efficiency
kesalahan besar
sumber
sumber
Jawaban:
Andy Ozment memandang OpenBSD pada tahun 2006 dengan pertanyaan yang sama: Milk atau Wine: Apakah Keamanan Perangkat Lunak Meningkat seiring Umur?
Anda mungkin dapat belajar dari definisinya. Ini juga merupakan makalah yang sangat menarik, dengan kesimpulan yang menarik juga, yang belum dimasukkan ke dalam pengetahuan manajemen perangkat lunak:
sumber
Saya kira tidak ada jawaban untuk itu. Ini sangat tergantung proyek. Beberapa lebih stabil selama bertahun-tahun, yang lain lebih tidak stabil / refactored / berkembang selama bertahun-tahun.
Apalagi sulit untuk diukur. Apakah baris yang diedit benar-benar akhir dari masa pakainya? Bagaimana dengan hanya perubahan kosmetik seperti memformat ulang basis kode dengan tab atau spasi? IMHO yang tidak dihitung sebagai basis kode yang diperbarui, tetapi akan sesuai dengan kriteria Anda.
Yang mengatakan, saya pikir sebagian besar LOC hidup selamanya.
Alasannya sederhana: lebih mudah menambahkan kode baru daripada menghapus beberapa. Terutama ketika sistemnya kompleks dan tumbuh selama bertahun-tahun. Kemudian dengan cepat sampai pada titik di mana itu "berisiko" untuk menghapus atau mengubah kode non-sepele. Itu bisa memperkenalkan bug, mematahkan kompatibilitas, memperkenalkan efek perubahan kupu-kupu ... Jadi saya pikir, semakin besar basis kode, semakin tua, semakin banyak LOC akan tinggal.
Selain itu, hanya programmer yang baik cenderung membersihkan basis kode dan mengurangi garis. Yang lain cenderung menumpuk LOC. Dan sejauh ini, yang terakhir menang sejauh ini. ;)
sumber
Menghapus atau mengecualikan sebaris kode pasti merupakan indikasi akhir masa pakainya.
Pengeditan pengeditan, saya akan mengajukan pertanyaan ini: Apakah pernyataan ini menghasilkan hasil yang berbeda setelah pengeditan?
Jika jawabannya adalah ya, maka saya akan mengatakan pernyataan sebelumnya tidak lagi tersedia, kalau tidak saya masih akan menganggapnya sebagai kelanjutan dari pernyataan sebelumnya.
Contoh mengubah hasil:
untuk:
Contoh melanjutkan umur:
untuk:
sumber