Apakah busuk perangkat lunak merujuk terutama pada kinerja, atau kode berantakan?


22

Definisi Wikipedia dari software busuk berfokus pada kinerja perangkat lunak. Ini adalah penggunaan yang berbeda dari yang biasa saya lakukan; Saya telah memikirkannya lebih banyak dalam hal kebersihan dan desain kode - dalam hal kode memiliki semua karakteristik kualitas standar: keterbacaan, pemeliharaan, dll. Sekarang, kinerja cenderung turun ketika kode menjadi tidak dapat dibaca, karena tidak ada yang tahu apa yang sedang terjadi. Tetapi apakah busuk istilah perangkat lunak memiliki referensi khusus untuk kinerja? atau apakah saya benar dalam berpikir itu mengacu pada kebersihan kode? atau apakah ini mungkin kasus pengertian ganda dari istilah yang umum digunakan — dari perspektif pengguna, ini terkait dengan kinerja; tetapi untuk pengrajin perangkat lunak, itu harus dilakukan lebih khusus dengan bagaimana kode dibaca?


1
Wikipedia mencantumkan 3 penyebab, 2 di antaranya tidak terkait dengan kinerja, Kode yang tidak digunakan dan Kode yang jarang diperbarui ...
Izkata

2
"Perangkat lunak dapat memburuk dalam" kinerja "dari waktu ke waktu dan menjadi apa yang biasa disebut" warisan "saat dijalankan dan mengakumulasi kesalahan; ini umumnya tidak dianggap membusuk oleh perangkat lunak, meskipun mungkin memiliki beberapa konsekuensi yang sama." Saya pikir sudah jelas bahwa pembusukan perangkat lunak tidak terkait dengan kinerja.
zzzzBov

1
Satu-satunya fitur redeaming di seluruh halaman wikipidia tag peringatan bahwa tidak ada referensi ke sumber relibale.
mattnz

Jawaban:


39

Istilah ini tidak terkait kinerja, setidaknya tidak di mana pun saya melihatnya digunakan.

Ini khusus tentang kode yang tidak dipelihara dengan baik dan menjadi ... kotor ... busuk. Ini tentang kode yang desainnya belum diperbarui karena perubahan dibuat dan sulit dibaca dan dipahami.


1
Saya pernah mendengar istilah ini merujuk pada kinerja: misalnya "pembusukan Windows", perasaan bahwa Anda perlu memformat ulang dan menginstal ulang Windows sesering mungkin karena semakin lambat seiring berjalannya waktu.
Carson63000

3
Ya ... tetapi "pembusukan perangkat lunak" dan "pembusukan jendela" adalah istilah yang berbeda.
Stephen C

4
@ Oded - analoginya bukan dengan kekotoran. Ini dengan jenis busuk yang terjadi pada bangunan tua yang secara struktural tidak sehat.
Stephen C

18

Mari kita hadapi itu. "Busuk perangkat lunak" bukan konsep teknis yang jelas. Ini lebih merupakan deskripsi yang merendahkan tentang apa yang terjadi ketika perangkat lunak tidak dirawat dengan baik.

Halaman Wikipedia mewakili satu tampilan, tetapi jelas ada pandangan alternatif. Dan Anda dapat mengatakan bahwa pandangan yang berbeda mencerminkan prioritas dan keprihatinan yang berbeda dari orang yang memegang pandangan:

  • Seseorang yang fokus membuat perangkat lunak cepat akan lebih cenderung mencari bukti "pembusukan perangkat lunak" dalam kinerja.

  • Seseorang yang fokus pada desain / arsitektur (misalnya karena mereka perlu menambahkan fungsionalitas baru atau memperbaiki bug fungsionalitas), akan melihat "pembusukan perangkat lunak" dari perspektif itu.

Dan, tidak terlalu berguna untuk mengatakan perspektif siapa yang lebih benar. (Ini agak seperti berdebat apakah pirus lebih hijau atau lebih biru.)


1
Karena posting OP adalah tentang wikipedia, saya hadir: Turquoise (warna) - Ini "hijau", tetapi "kebiruan kebiruan" daripadanya. Jadi saya pikir argumen Anda masuk akal :).
Ben Lee

6

Saya akan mengatakan bahwa istilah "busuk perangkat lunak" umumnya mengacu pada kesesuaian untuk tugas yang dihadapi. Perangkat lunak mungkin menjadi kurang cocok untuk tugas yang dimaksudkan karena lapisan demi lapisan perbaikan bug, fitur baru, dan perubahan kecil. Secara bersama-sama, itu dapat mempengaruhi baik rawatan dan kinerja. Selain itu, kebutuhan organisasi kemungkinan akan berubah seiring waktu, dan perangkat lunak mungkin dipaksa menjadi peran yang tidak pernah dirancang untuknya. Semua faktor ini mengakibatkan perangkat lunak menjadi kurang sesuai dengan kebutuhan organisasi, dan itu dapat terjadi bahkan dengan upaya bersama untuk mempertahankan perangkat lunak.


6

Wikipedia mengatakan bahwa busuk perangkat lunak dan busuk kode adalah sama. Saya tidak setuju.

Membusuk kode adalah hilangnya bertahap keterbacaan dan pemeliharaan karena semakin banyak perubahan dilakukan pada kode.

Busuk perangkat lunak adalah hilangnya kinerja secara bertahap karena perangkat lunak dipindahkan dari satu emulator lingkungan ke yang lain. Salah satu contohnya adalah semua perangkat lunak Data General PDP yang berjalan pada emulator. Sebenarnya, lingkungan yang membusuk, bukan perangkat lunak.


+1. wikipedia perangkat lunak disamakan membusuk dengan kode busuk. Kita harus mengeditnya. Ada lebih banyak perangkat lunak yang membusuk. Salah satu contohnya adalah GUI yang tidak dapat digunakan / sulit digunakan. Dokumentasi usang / salah juga berkontribusi.
Jayan

3

Perangkat lunak sebenarnya tidak menjadi buruk, basi, usang atau "membusuk" dalam arti tradisional.

Jika lingkungan di mana perangkat lunak beroperasi tidak berubah, perangkat lunak pada dasarnya akan bertahan selamanya. Inilah mengapa saya sangat kesal ketika seseorang bertanya apakah beberapa perpustakaan "mati" karena penulis belum membuat pembaruan untuk itu dalam 5 menit terakhir (melebih-lebihkan hanya sedikit untuk efek).

Tapi lingkungan biasanya tidak berubah; sistem operasi ditambal dan diperbarui, komputer diganti dengan yang lebih kuat, dan program baru dipasang (seperti versi terbaru dari klien seperti Internet Explorer, driver perangkat atau perpustakaan lain), di mana perangkat lunak mungkin bergantung. Jadi perangkat lunak harus diperbarui untuk memperhitungkan perubahan itu.

Ada sistem perangkat lunak yang telah berjalan terus-menerus dan andal selama beberapa dekade tanpa diperbarui atau dipelihara secara signifikan. Perangkat lunak COBOL yang berjalan pada mainframe yang menangani transaksi bank muncul dalam pikiran (walaupun semuanya harus dimodifikasi pada tahun 1999 untuk menangani Y2K).

Penekanan Wikipedia pada kinerja tampaknya tidak penting; banyak aplikasi perangkat lunak benar-benar mendapatkan kinerja dorongan ketika mereka bisa diinstal di lingkungan baru. Artikel Wikipedia sebenarnya tampak lebih mementingkan perangkat lunak .


Software mengasapi — ya, bagus. Dalam pemahaman saya tentang istilah ketika saya mengajukan pertanyaan, pembusukan perangkat lunak harus dilakukan dengan fakta bahwa itu terus dimodifikasi oleh sekelompok pengembang yang standar untuk pembersihan dan desain kode di bawah standar.
Kazark

3

"Busuk perangkat lunak" - adalah istilah yang sangat kabur dan dapat berarti beragam hal bagi siapa pun, tergantung pada bagaimana persepsi Anda tentang konsep tersebut, dan juga, apa sudut pandang Anda .

Definisi oleh Wikipedia tentang Busuk Perangkat Lunak tidak menetapkan standar karena juga ditulis oleh beberapa individu. Saya pikir istilah ini memiliki beragam makna dan perlu dipecah menjadi bidang-bidang tertentu, di mana ia menjadi referensi.

  • Pemrogram dapat memahami ini sebagai basis kode yang tidak dapat dipelihara dengan penuh anti-pola, tidak ada konsistensi dalam penamaan dan gaya pengkodean.
  • Admin sistem mungkin memahami ini sebagai kinerja yang buruk, penuh dengan kebocoran memori dan neraka. pemeliharaan.
  • Pengguna akhir mungkin memahami ini sebagai perangkat lunak yang sangat rumit, tidak intuitif, dan sulit untuk dikerjakan.

2

Saya selalu menganggap perangkat lunak membusuk sebagai kondisi yang terjadi ketika Anda tidak menggunakan perangkat lunak untuk jangka waktu tertentu. Entah bagaimana, perangkat lunak berubah menjadi keadaan di mana ia tidak dapat dibangun. Kemudian ketika Anda sampai pada titik di mana Anda bisa membangunnya, itu tidak bekerja dengan input dan output seperti sebelumnya. Hampir seolah-olah kode benar-benar terdegradasi dalam bentuk meskipun disimpan secara digital.


1
Karena lingkungan (kompiler, perpustakaan, atau apa pun) berubah? Wikipedia memang membahas hal itu.
Kazark
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.