Saya sesekali mengalami metode di mana pengembang memilih untuk mengembalikan sesuatu yang tidak penting untuk fungsi tersebut. Maksud saya, ketika melihat kode itu, ternyata berfungsi sama baiknya dengan void
dan setelah beberapa saat berpikir, saya bertanya, "Kenapa?" Apakah ini terdengar familier?
Kadang-kadang saya setuju bahwa paling sering lebih baik mengembalikan sesuatu seperti bool
atau int
, daripada hanya melakukan a void
. Tapi saya tidak yakin, dalam gambaran besar, tentang pro dan kontra.
Bergantung pada situasi, mengembalikan suatu int
dapat membuat penelepon mengetahui jumlah baris atau objek yang dipengaruhi oleh metode (misalnya, 5 catatan disimpan ke MSSQL). Jika metode seperti "InsertSomething" mengembalikan boolean, saya dapat meminta metode yang dirancang untuk kembali true
jika berhasil, jika tidak false
. Penelepon dapat memilih untuk bertindak atau tidak pada informasi itu.
Di samping itu,
- Bisakah itu mengarah ke tujuan yang kurang jelas dari pemanggilan metode? Pengodean yang buruk sering memaksa saya untuk memeriksa ulang konten metode. Jika itu mengembalikan sesuatu, itu memberi tahu Anda bahwa metode adalah tipe Anda harus melakukan sesuatu dengan hasil yang dikembalikan.
- Masalah lainnya adalah, jika implementasi metode tidak diketahui oleh Anda, apa yang diputuskan pengembang untuk kembali yang tidak berfungsi penting? Tentu saja Anda bisa berkomentar.
- Nilai kembali harus diproses, ketika pemrosesan dapat berakhir pada braket penutupan metode.
- Apa yang terjadi di bawah tenda? Apakah metode yang dipanggil dapatkan
false
karena kesalahan yang dilemparkan? Atau apakah itu kembali salah karena hasil yang dievaluasi?
Apa pengalaman Anda dengan ini? Bagaimana Anda akan bertindak atas hal ini?
void
setidaknya memberi tahu pengembang bahwa nilai pengembalian metode tidak penting; ia melakukan suatu tindakan, alih-alih menghitung nilai.