Rumah > pembangunan bahagian belakang > C++ > Patutkah Kaedah Mengembalikan Koleksi Nol atau Kosong?

Patutkah Kaedah Mengembalikan Koleksi Nol atau Kosong?

Linda Hamilton
Lepaskan: 2025-01-25 15:01:09
asal
286 orang telah melayarinya

Should Methods Return Null or Empty Collections?

kembali ke koleksi null atau kosong: Amalan terbaik

Apabila reka bentuk mengembalikan set sebagai kaedah mengembalikan jenis nilai, ia akan menyebabkan masalah: Sekiranya ia kembali null atau koleksi kosong? Amalan terbaik sangat disyorkan untuk mengembalikan koleksi kosong dalam semua keadaan.

Mengapa memilih koleksi kosong?

Kembali Null adalah amalan yang buruk kerana ia boleh menyebabkan kerumitan kod yang tidak perlu dan kesilapan runtime yang berpotensi. Sebagai contoh, jika anda kembali NULL untuk atribut pengumpulan:

Jika myInstance.CollectionProperty memang batal, kod ini boleh menyebabkan keabnormalan. Sebaliknya, lebih baik untuk mengembalikan koleksi kosong untuk memastikan bahawa kod di atas masih boleh dilaksanakan tanpa kesilapan.

Amalan terbaik atribut
<code class="language-c#">if(myInstance.CollectionProperty != null)
{
  foreach(var item in myInstance.CollectionProperty)
    /* 如果 CollectionProperty 为 null,此代码可能会失败 */
}</code>
Salin selepas log masuk

Untuk atribut set pulangan, disyorkan untuk memulakan atribut sekali sahaja. Ini boleh diselesaikan semasa pembina yang mengandungi kelas yang mengandungi atribut:

Gunakan C# 6, anda boleh menggunakan versi yang lebih ringkas:

Amalan terbaik kaedah
<code class="language-c#">public List<foo> Foos { public get; private set; }

public Bar() { Foos = new List<foo>(); }</code>
Salin selepas log masuk

Untuk kaedah mengembalikan set, jika set sebenar tidak wujud, koleksi kosong dikembalikan. Anda boleh menggunakan kaedah yang boleh dihitung.
<code class="language-c#">public List<foo> Foos { get; } = new List<foo>();</code>
Salin selepas log masuk
() untuk tujuan ini:

Kaedah ini memastikan bahawa walaupun InnergetFoos () mengembalikan NULL, kaedah ini masih akan mengembalikan set kosong untuk mengelakkan kesilapan yang berpotensi.

Atas ialah kandungan terperinci Patutkah Kaedah Mengembalikan Koleksi Nol atau Kosong?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan