RƏSƏDXANA

Həftə 2 · 03/23

Simptomdan məhdudiyyətə

6 dəqiqəlik oxu

Həkimə «pis hiss edirəm» deyirsən — həkim təxmin etməyə başlayır. «Üç gündür sağ tərəfimdə, yeməkdən sonra ağrıyır» deyirsən — həkim artıq harada axtaracağını bilir.

Texniki terminlər jarqon deyil, ünvandır. Hər termin problemin hansı hissədə olduğunu və nəyin ölçüləcəyini deyir.

// vague:   "the search is slow, fix it"
// precise: one request per keystroke, and old answers overwrite new ones
onInput(q) { fetch("/api/search?q=" + q).then(show); }
İki cümlə eyni kodu təsvir edir. İkincisi kodun hansı sətrinə baxacağını da deyir.

Çox deyilən söz: İstədiyini gündəlik sözlərlə de, AI özü başa düşər.

AI sualın dəqiqliyinə cavab verir. «Axtarış ləngiyir» bir təxmin qaytarır. «Girişə 300ms debounce əlavə et, köhnə sorğuları ləğv et, nəticələri memoize et» isə mühəndis cavabı qaytarır. Terminlər jarqon deyil: hər termin artıq verilmiş bir qərardır.

Hissi yox, mexanizmi adlandır

«Yavaş», «qırıq», «qəribə» səni təsvir edir. «N+1», «race», «köhnəlmiş keş» sistemi təsvir edir — və hər biri haraya baxmaq lazım olduğunu da deyir.

AI belə yazır

The page is slow sometimes.

Sən bunu istə

The list endpoint runs one query per row (N+1):
50 rows -> 51 queries. Replace with one JOIN.

Düzəlişdən əvvəl hipotez

Səbəbi təsdiqlənməmiş düzəliş təxmindir və xətanı gizlədə bilər. Ardıcıllığı tələb et: hipotez → dəlil (log, sorğu, request) → düzəliş.

Lüğət sənin olmalıdır

İzah edə bilmədiyin terminlə AI-ın çıxışını yoxlaya bilməzsən. Hər yeni termini öz sözlərinlə, öz kodundan bir nümunə ilə yaz.

Diff oxuyanda soruş: AI-a problemi dediyin cümləni oxu: içində ölçü, hədd və ya termin varmı? Yoxdursa, cavab da təxmin olacaq.

Terminlər

debounce
Hadisə dayananadək gözləmək; hər düymə basışında sorğu göndərməmək.
memoize
Eyni giriş üçün hesablanmış nəticəni yadda saxlayıb təkrar istifadə etmək.
idempotent
İki dəfə etmək bir dəfə etməklə eyni nəticəni verir — təkrar cəhd üçün vacibdir.
race condition
Nəticə iki əməliyyatın hansının əvvəl bitməsindən asılıdır.
cursor pagination
Səhifələri «bu nöqtədən sonrakılar» kimi istəmək; yeni yazılar əlavə olunanda sürüşmür.
auth guard
Sorğunu işləmədən əvvəl kimliyi və icazəni yoxlayan server qatı.

İndi sən yoxla

1«Axtarış qutusu yazarkən donur.» Ən yaxşı texniki ifadə hansıdır?

2İstifadəçi «cat» sözünü tez yazır, bəzən «ca» üçün nəticələr görünür. Bunun adı nədir?

async function onType(q) {
  const res = await fetch(`/api/search?q=${q}`);
  setResults(await res.json());
}

Hazır prompt

İngiliscədir, çünki terminlər ingiliscədir. Tərcümə etsən də terminləri saxla.

prompt
I will describe a problem in plain words. Before fixing anything:

1. Restate it as a precise technical hypothesis:
   which component, which state, what mismatch.
2. Name the class of problem (the terms engineers use for it).
3. Tell me how to confirm or rule out the hypothesis
   (a log, a query, a request) — then do that and show me the result.

Only after the hypothesis is confirmed, propose a fix.

Problem: <...>

Öz kodunda

  1. 1Yazdığın (və ya yazacağın) üç xəta şikayətini götür və hər birini hipotez kimi yenidən yaz.
  2. 2Şəxsi lüğət aç: AI-ın işlətdiyi və bilmədiyin hər termini öz sözlərinlə bir cümlə ilə yaz.
  3. 3Növbəti xətanı prompt şablonu ilə aç və hipotezin təsdiqlənməsini gözlə.

Bunu görəndə bitib: Lüğətində 20 termin var və hər birini baxmadan izah edə bilirsən.

Daha dərinə

Oxumaq üçün