Məsələni anlamaqdan başla
Birinci addım kod deyil: nə verilir, nə qaytarılmalıdır və hansı hallar mümkündür? Məsələni öz sözlərinlə yaz. Sadə, mürəkkəb, boş və etibarsız giriş üçün gözlənilən nəticəni əvvəl müəyyən et.
Məsələ: büdcəyə uyğun məhsulları seç.
Giriş: məhsullar massivi və mənfi olmayan büdcə.
Çıxış: qiyməti büdcədən böyük olmayan məhsullar.
Addımlar:
1. Büdcəni yoxla.
2. Hər məhsulun qiymətini müqayisə et.
3. Uyğun məhsullardan yeni massiv qaytar.
function affordable(products, budget) {
if (!Number.isFinite(budget) || budget < 0) return [];
return products.filter(product => product.price <= budget);
}
Həll et, sonra təkmilləşdir
Böyük addımı anlaya bilmirsənsə kiçik hissələrə böl. Əvvəl işləyən sadə həll yaz, sonra təkrarı, qarışıq adları və uzun funksiyaları düzəlt. Həllin düzgünlüyü ilə sürətini ayrı qiymətləndir.
Boş massiv, sıfır büdcə, dəqiq sərhəd qiyməti, bütün məhsulların baha olması və etibarsız büdcəni yoxla. Saf funksiya eyni girişə eyni nəticə verir və xarici vəziyyəti dəyişmir; belə funksiyaları ayrıca yoxlamaq asandır. Təkmilləşdirmədən sonra əvvəlki nümunələri yenidən yoxla.