قانون صفر، یک، بینهایت

تنها اعداد معقول برای شمارش در برنامه‌نویسی صفر، یک و بینهایت هستند.

به عبارت دیگر، یا صفر تا از «چیز» یا یک «چیز» یا هر تعداد «چیز» را در منطق شمارش کد خود اجازه دهید.

دلیل استقرایی این قانون این است که در صورتی که اگر اجازه شمارش هر عدد N>=2 را در کد خود دهید، آن‌گاه باید اجازه شمارش N+1 را هم بگنجانید. این گونه منطق شمارش کد را پیچیده و در طول زمان غیری قابل نگهداری می‌کند.

در عمل الگوی کد زیر باید همیشه ثابت باشد:

process (Collection<Foo> foos) {
  if (foos.isEmpty()) {
    // بررسی صفر
  } else if (foos.size() == 1) {
    // بررسی یک
  } else {
    // بررسی بینهایت
  }
}

به عبارت دیگر اگر در جایی از کد شروطی مثل foos.size() == n باشد، به احتمال خیلی زیاد نگهداری این کد در طول زمان پیچیده و پیچیده‌تر خواهد شد.

این اصل برای اولین بار توسط Willem van der Poel مطرح شد.

نظر شما در مورد عدد ۲ چیست؟