Jawapannya ialah jenis tidak berubah adalah lebih selamat daripada pepijat, lebih mudah difahami dan lebih bersedia untuk perubahan. Kebolehubahan membuat lebih sukar untuk memahami apa yang program anda lakukan dan lebih sukar untuk menguatkuasakan kontrak.
Adakah objek boleh ubah buruk?
Akhir sekali, objek boleh ubah ialah pembunuh dalam situasi serentak. Setiap kali anda mengakses objek boleh ubah daripada benang berasingan, anda perlu berurusan dengan mengunci. Ini mengurangkan daya pemprosesan dan menjadikan kod anda secara mendadak lebih sukar untuk dikekalkan.
Mengapa keadaan dikongsi tidak baik?
Keadaan boleh ubah kongsi berfungsi seperti berikut: Jika dua atau lebih pihak boleh menukar data yang sama (pembolehubah, objek, dll.). Dan jika jangka hayat mereka bertindih. Kemudian terdapat risiko pengubahsuaian satu pihak menghalang pihak lain daripada berfungsi dengan betul.
Mengapa kebolehubahan adalah perkara yang baik?
Selain penggunaan memori yang dikurangkan, kebolehubahan membolehkan anda mengoptimumkan aplikasi anda dengan menggunakan rujukan- dan kesamaan nilai. Ini menjadikannya sangat mudah untuk melihat jika ada yang berubah. Contohnya perubahan keadaan dalam komponen tindak balas.
Apakah keburukan kebolehubahan?
Satu-satunya kelemahan sebenar kelas tidak berubah ialah bahawa mereka memerlukan objek berasingan untuk setiap nilai berbeza. Mencipta objek ini boleh memakan kos, terutamanya jika ia besar. Sebagai contoh, katakan anda mempunyai BigInteger berjuta-bit dan anda ingin menukar bit tertib rendahnya:BigInteger moby=…; moby=moby.