"İxrac düzəldildi, yoxlamaq qaldı" - və iş elə burada bitdi. Ertəsi gün layihəni açırsınız və hansı faylların dəyişdiyini, ixracın hansı versiyada yoxlandığını, yoxlamanın harada dayandığını bilmirsiniz.
Araşdırmanı təkrarlamadan davam etmək üçün növbəti mərhələyə saxlanmış nəticə, yoxlamalar barədə məlumat və atılacaq ən yaxın addım lazımdır. Belə ötürməyə bir tapşırıq üzərindən baxaq: onu bir sessiya, bir neçə icraçı və ya iki ayrı dəfədə özünüz apara bilərsiniz.
Açıb baxmaq mümkün olan nəticəni ötürün
Alış-veriş siyahısında CSV ixracı işləmir. Tələb belədir: ixracda yalnız göstərilən sətirlər olmalı və onların sırası qorunmalıdır. Siyahı boş olanda məlumat sətirləri olmadan başlıq sətrinin qalması razılaşdırılıb. Sütunların formatını və ayırıcını dəyişmək lazım deyil.
"Düzəldildi, yoxlamaq qaldı" əvəzinə dəyişiklikləri tapıb işi davam etdirməyə imkan verən qeyd yazaq. Aşağıdakı hash-lər və nəticələr şərtidir: bu, təlim nümunəsidir, arxasında real icralar yoxdur.
HANDOFF
Məqsəd: CSV yalnız göstərilən sətirləri onların cari sırası ilə ehtiva edir.
Giriş versiyası: başlanğıc commit 4f1c2ab.
Ötürülən vəziyyət: fix-export branch-ində 9d3e740 commit-i, əlavə dəyişiklik yoxdur.
Nəticə: src/export-csv.js - ixrac siyahını filtrləmə və çeşidləmədən sonra götürür.
9d3e740 üzərində əl ilə yoxlanılıb: ilkin qeydlər A, B, C; ekranda C, A;
CSV-də məlumat sətirləri C, A-dır, B qeydi yoxdur. Başlıq qeyd sayılmır.
Yoxlanılmayıb: boş siyahı; "yalnız tamamlanmamışlar" rejimi.
Qərar: sütunların formatı və ayırıcı dəyişmir.
Növbəti addım: əsas sessiya qalan iki ssenarini yoxlayır.
Ümumi tapşırığın statusu: yoxlama tamamlanmayıb.Hərflər siyahıdakı üç qeydi göstərir. Ssenari eyni anda iki xüsusiyyəti yoxlayır: gizli B qeydi ixraca düşməyib və C, A sırası ekrandakı ilə eynidir. Cəmi iki element olan siyahıdan iki sətir almaq kifayət deyil: filtrləməyən ixrac da bu nəticəni verər.
Qeydi HANDOFF.md faylında saxlamaq və ya mövcud tapşırıq sənədinə əlavə etmək olar. Sahələr üçün məcburi standart yoxdur. Əsas odur ki, əvvəlki söhbət əlçatan olmasa belə, növbəti icraçı qeydi lazımi fayllarla birlikdə aça bilsin.
Yoxlama əmr vasitəsilə aparılıbsa, əmri faktiki nəticə və kod versiyası ilə birlikdə göstərin. "12-dən 12-si keçdi" hansı davranışın yoxlandığını izah etmir. Əl ilə aparılan ssenari üçün yuxarıdakı nümunədəki kimi ilkin məlumat, görülən iş və müşahidə lazımdır.
İlkin variantı Claude Code-a hazırlatmaq rahatdır: "Mövcud fayllara və tamamlanmış yoxlamalara əsasən ötürmə qeydi hazırla. Faktları ehtimallardan ayır. Hansı vəziyyətin yoxlandığını, nəyin qaldığını və haradan davam etmək lazım olduğunu göstər. Yerinə yetirilməmiş yoxlamaları uğurlu kimi təqdim etmə". İstifadə etməzdən əvvəl versiyanı fayllarla, nəticələri isə əl ilə yoxlama qeydləri və ya əmrlərin çıxışı ilə tutuşdurun.
Giriş və çıxış şərtlərini müəyyən edin
Ötürmə o zaman faydalıdır ki, növbəti mərhələ aldığı məlumatın kifayət edib-etmədiyini başa düşsün. Bizim tapşırıq üçün bunu üç sətirdə təsvir etmək olar.
| Mərhələ | Giriş | Çıxış | Qəbul şərti |
|---|---|---|---|
| Dəqiqləşdirmə | Tələb və cari fayllar | Koda istinadla xətanın səbəbi, gözlənilən davranış | Hansı sətirlərin, hansı sırada ixrac olunduğu və boş siyahı ilə nə baş verdiyi müəyyən edilib |
| Dəyişiklik | Razılaşdırılmış davranış və giriş versiyası | İxrac düzəlişi və lokal yoxlama qeydi | Saxlanmış vəziyyət əlçatandır, dəyişən fayllar sadalanıb, yoxlanılanlar yoxlanılmayanlardan ayrılıb |
| Yoxlama | Ötürülən vəziyyət və ssenarilər | Hər ssenari üzrə müşahidələr, məhdudiyyətlər və iradlar | Nəticələr ötürülən versiyaya aiddir; hər ssenarinin nəticəsi var, iradlar üçün növbəti addım göstərilib |
Burada əsas sütun sağdakıdır. Yoxlamaya keçəndə "yoxlamağa başlamaq olarmı?" sualına cavab verir. Tam təsvir olunmuş düzəliş də səhv ola bilər. Tamamlanmış yoxlama isə düzəldilməli xəta üzə çıxara bilər: yararlı hesabatın mütləq uğur bildirməsi lazım deyil.
Versiya göstərilməyibsə, əvvəlcə faylların cari vəziyyətini müəyyən edin. Onu yoxlamaq olar, amma tutuşdurmadan köhnə hesabatı həmin vəziyyətə aid etmək olmaz. Mərhələlər üçün ayrıca agentlər və sənədlər vacib deyil: kiçik tapşırıq hər üç mərhələdən bir sessiyada, bir qeyd ilə keçə bilər.
Qəbul edilmiş vəziyyəti saxlayın
Ötürmə zamanı üç ayrı anlayışı asanlıqla qarışdırmaq olar:
- saxlanmış kod vəziyyəti - bərpa edə biləcəyiniz konkret versiya;
- işin gedişi barədə qeyd - nə etdiniz, nəyi yoxladınız, nədə razılaşdınız;
- nəticənin qəbul edilməsi - görülən işin qoyulmuş məqsəd üçün yetərli olduğuna dair qərar.
Commit ona daxil edilmiş faylları göstərir. Amma ondan sonra əlavə dəyişiklik qalıbsa, bu istinad artıq ötürülən bütün vəziyyəti təsvir etmir: yeni fayllar da daxil olmaqla həmin düzəlişləri ayrıca saxlayıb göstərmək lazımdır. Dəyişikliklər toplusunu ötürərkən onları hansı ilkin versiyaya əsasən qiymətləndirdiyinizi də qeyd edin. Təkcə branch-ə istinad kifayət deyil: branch dəyişməyə davam edir.
Təsəvvür edin: qeyddə 9d3e740 göstərilib, amma ixrac faylı bu commit-dən sonra redaktə olunub. Alan şəxs tanış hash-i görür, amma başqa kodla işləyəcək. Əvvəlcə nəyin dəyişdiyini öyrənir. Düzəliş sətirlərin seçiminə və ya sırasına toxunubsa, əvvəlki C, A yoxlaması cari davranışı təsdiqləmir. Yalnız şərhin mətni dəyişibsə, bu, öz-özlüyündə ssenarini yenidən yoxlamaq üçün səbəb deyil.
Hər addımdan sonra commit etmək və ya özünüzün və başqalarının dəyişikliklərini bir commit-də toplamaq vacib deyil. Ötürülən vəziyyət bütöv şəkildə mövcud olmalı və alan şəxs üçün əlçatan olmalıdır; necə saxlanacağını layihənin qaydaları müəyyən edir. Fayllar yerində deyilsə, əvvəlcə saxlanmış versiyanı yoxlayın. Dəyişikliklər heç yerdə saxlanmayıbsa, təkcə qeyd onları bərpa etməyəcək.
Söhbəti davam etdirmək faylları öz-özünə təsvir olunan versiyaya qaytarmır. Claude Code-un dəyişiklik snapshot-ları da bütün dəyişiklikləri əhatə etmir: Bash vasitəsilə edilən düzəlişlər izlənmir, digər icraçıların dəyişikliklərini bərpa etməyin də məhdudiyyətləri var. Buna görə ötürmə saxlanmış fayllara və onların versiyasına əsaslanır. Ətraflı: Checkpointing.
Dayanma səbəbini araşdırın
"Alınmadı" ən azı üç fərqli vəziyyət deməkdir.
Lokal icra yarımçıq qaldı. Əmr tamamlanmadı və ya yoxlama ortada dayandı. Əvvəlcə nəyin icra olunduğunu və dəyişdiyini aydınlaşdırın. Səbəb aradan qaldırılıbsa və təkrar icra artıq görülmüş əməliyyatı ikiləşdirməyəcəksə, yarımçıq addımı yenidən icra etmək olar. Nümunəmizdə bir dəfə təkrar etməyi razılaşdıraq; o da yarımçıq qalsa, dayanma səbəbini və davam etmək üçün nə lazım olduğunu qeyd edək. Limit əməliyyatdan asılıdır, sonsuz təkrar isə heç nəyi izah etməyəcək.
Gözlənilən davranış aydın deyil. Məsələn, icraçı aktiv filtr zamanı hansı sətirlərin göstərilmiş sayıldığını bilmir. Əvvəlcə qeydə alınmış tələblə tutuşdurur. Cavab orada yoxdursa, tələb üzrə məsul şəxs üçün sual hazırlayır. Düzəlişi cavabdan sonra davam etdirmək olar; əmri təkrar icra etmək cavabı əvəz etmir.
Yeni fakt qəbul edilmiş qərarı təkzib etdi. CSV-ni başqa proqramın oxuduğu məlum oldu. Dəqiqləşdirmədən sonra sütunların başqa tərkibi razılaşdırıldı, sıra tələbi isə ləğv edildi. İş dəqiqləşdirməyə qayıdır: yeni meyarı yazmaq, ondan asılı düzəlişi və yoxlamaları yenidən nəzərdən keçirmək lazımdır. Əvvəl keçilmiş ssenari faydalı qala bilər, amma yenilənmiş tapşırığın hamısını artıq təsdiqləmir.
Burada iş dəqiqləşdirməyə qayıdır, çünki ilkin qərar dəyişib. Tələb əvvəlki kimidirsə, xəta isə reallaşdırmada tapılıbsa, dəyişiklik mərhələsinə qayıtmaq kifayətdir. Toxunulan qərardan asılı olan nəticələr yenidən nəzərdən keçirilir.
Aktual nöqtədən davam edin
İşi davam etdirərkən bu beş addımı keçin:
- yoxlanılmayanlar da daxil olmaqla ötürmə qeydini bütövlükdə oxuyun;
- ötürülən vəziyyəti əlçatan fayllar və əlavə dəyişikliklərlə tutuşdurun;
- yarımçıq qalan əməliyyatın nəticəsini, əgər belə əməliyyat olubsa, aydınlaşdırın;
- əvvəlki nəticələrdən hansının hələ də qüvvədə olduğunu müəyyən edin;
- tamamlanmamış ən yaxın addımı yerinə yetirib qeydi yeniləyin.
Tələblərin dəyişmədiyi ilkin nümunəyə qayıdaq. Növbəti sessiya ötürmə qeydini açıb vəziyyəti tutuşdurdu: 9d3e740 commit-i əlçatandır, əlavə düzəliş yoxdur, məlumatlar və yoxlama şərtləri əvvəlki kimidir. C, A ssenarisi artıq tamamlanıb, nəticəsi hələ də keçərlidir. Düzəlişi yenidən yazmaq lazım deyil.
İndi alan şəxs boş siyahını yoxlayır. Tapşırığın şərtinə görə CSV-də məlumat olmadan başlıq sətri qalmalıdır. Təlim nümunəmizin davamında məhz belə də oldu. Qeydə nəticəni əlavə edib qalan addımı yeniləmək kifayətdir:
9d3e740 üzərində əl ilə yoxlanılıb: boş siyahının ixracında yalnız başlıq var.
Əvvəl yoxlanılmış C, A ssenarisi hələ də aktualdır.
Yoxlanılmayıb: "yalnız tamamlanmamışlar" rejimi.
Növbəti addım: əsas sessiya bu rejimi yoxlayır.
Ümumi tapşırığın statusu: yoxlama tamamlanmayıb.Ötürmə qeydi də işlə birlikdə dəyişdi. Qalan iki ssenaridən biri yerinə yetirildi, digəri qeyddə hələ də görünür. Qismən nəticə ilkin məqsədi tamamlamır; yoxlamanı başqa tapşırığa keçirmək üçün iş həcmini dəyişmək barədə ayrıca qərar lazımdır.
İcra yarımçıq qalıbsa, dayanan ssenarini əvvəldən təkrarlamaq lazım gələ bilər: hər alət onu ortadan davam etdirməyi bacarmır. Əvvəl tamamlanmış yoxlamalar kod, giriş məlumatları və şərtlər aktual olduğu müddətdə qüvvədə qalır.
Nəticə barədə cavab gəlməsə də, əməliyyat baş tutmuş ola bilər. Məlumatın göndərilməsini, nəşri və ya fayla yazmanı təkrarlamazdan əvvəl əməliyyatın artıq baş verib-vermədiyini aydınlaşdırın. Əməliyyatın harada icra olunması heç nəyə zəmanət vermir: lokal əmr də eyni məlumatı ikinci dəfə əlavə edə bilər. Nəticə məlum olmayınca, təkrar vəziyyəti yoxlamağı əvəz etməməlidir.
Ötürmə qeydini kim hazırlayır
Claude Code faktları toplaya, növbəti mərhələnin girişini tutuşdura və artıq razılaşdırılmış addımı yerinə yetirə bilər. Qeydin fayllara və icra nəticələrinə uyğunluğunu siz yoxlayırsınız. Mübahisəli tələblər və iş həcminin dəyişməsi barədə qərarı insan və ya təyin olunmuş məsul şəxs verir; bizim prosesdə yekun qəbul qərarı insanda qalır.
Saxlanmış versiya işi davam etdirməyə kömək edir, amma icraçının səlahiyyətlərini genişləndirmir. Sizdən ixracı yoxlamaq istənibsə, bərpa nöqtəsinin olması sütunların formatını da dəyişməyə icazə vermir. Tapşırığın sərhədləri ötürmədən sonra da qüvvədə qalır.
GO TO FULL VERSION