Deschide un proiect, schimbă un singur lucru, verifică-l
Un flux de lucru bun pentru Delphi este simplu. Deschide dosarul proiectului, cere o singură modificare, citește diferența și rulează comanda de compilare. Arraydeck urmează acest ciclu cu instrumente reale, astfel încât fiecare pas lasă un card în chat pe care îl poți extinde și inspecta, de la prima căutare până la ultimul cod de ieșire. Nimic nu este ascuns în spatele unui rezumat. Dacă un pas pare greșit, oprești ciclul acolo, respingi modificarea și reformulezi cererea, iar fișierele rămân așa cum erau înainte de acel pas. Acei patru pași funcționează la fel pe un unit mic și pe un proiect cu multe forme. Începătorii și mentorenii cu experiență pot începe amândoi cu o căutare în mod doar citire, deoarece aceasta nu modifică niciun fișier și arată totuși cum este organizat proiectul.
01
Deschide dosarul
Alege dosarul care conține fișierele .dpr și .pas ca dosar de lucru pentru chat. Instrumentele de fișiere funcționează în interiorul lui, așa că selectează proiectul pe care vrei să îl modifici și nu un dosar părinte cu muncă neconexă. Un dosar părinte cu multe proiecte face ca prima căutare să fie mai greu de citit și crește riscul de a edita unitul greșit.
02
Descrie o singură modificare
Scrie o sarcină în cuvinte simple, cum ar fi numele unei proceduri și ce ar trebui să se schimbe, și alege Auto-run, Ask first sau Plan only înainte de a o trimite. Sarcinile mici dau diferențe mici, care sunt ușor de citit. Numește unitul când știi care este; agentul îl poate găsi cu glob, dar un unit numit îngustează prima căutare.
03
Citește diferența
Extinde cardul edit_file, citește fiecare linie adăugată și eliminată, apoi acceptă sau respinge modificarea. Dacă ai folosit Plan only, citește planul mai întâi și comută la Ask first pentru a-l executa pas cu pas. O diferență foarte lungă înseamnă că sarcina a fost prea mare, așa că respinge-o și împarte cererea în două cereri mai mici.
04
Compilează și testează
Lasă Shell să ruleze comanda de compilare și comanda de testare, și citește codul de ieșire real de pe card. O compilare reușită este un semn bun, dar doar testele tale proprii îți spun dacă comportamentul este încă corect. Rulează compilarea înainte de teste și ține ambele carduri deschise astfel încât o eroare să poată fi trasată la o singură modificare.
Un unit mic pentru exersare
Arraydeck · Unit nou● Ask first
Creează Greeter.pas cu o funcție Greet și verifică dacă proiectul se compilează.
list_dir.6 intrări
write_fileGreeter.passalvat
read_fileGreeter.pascitit
Shellbuild.batexit 0
așteaptă aprobarea ta înainte de următorul pasRespingeAcceptă
Greeter.pas
unit Greeter;
interface
function Greet(const Name: string): string;
implementation
function Greet(const Name: string): string;
begin
if Name = '' then
Result := 'Hello, guest'
else
Result := 'Hello, ' + Name;
end;
end.
Greet primește un nume și returnează un salut. Când numele este gol, răspunde cu Hello, guest, în caz contrar unește numele cu textul, iar Result deține valoarea de returnare a funcției. Secțiunea de interfață declară funcția, iar secțiunea de implementare conține codul acesteia, care este structura fiecărui unit.
Patru sarcini pentru întreținerea software-ului Delphi
Găsește unde este salvată o setare
Începătorii care învață Delphi întreabă adesea unde ajunge o valoare pe disc. Cere-i Arraydeck să găsească unde este scrisă setarea. Agentul rulează grep pentru numele setării în fișierele .pas, apoi read_file deschide unitul corespunzător și răspunsul apare în chat cu numele fișierelor și liniile. Nimic nu se modifică. Deschide unitul în editorul tău pentru a confirma că procedura este cea pe care o doreai și notează numele fișierului înainte de a cere o editare. Această căutare în mod doar citire este o prima cerere bună pe orice proiect pe care nu l-ai scris tu. Notează fișierul și linia înainte de a cere orice editare, deoarece un nume de fișier precis și un număr de linie fac cererea următoare scurtă și diferența următoare ușor de urmărit pentru oricine citește proiectul tău după tine.
Adaugă try finally în jurul unui obiect
Cere un gestionar mai sigur: găsește procedura care creează un obiect și asigură-te că este eliberat. Agentul caută cu grep, citește unitul și propune modificarea cu edit_file, înconjurând codul cu try ... finally ... Free. În Ask first, diferența apare și nu se scrie nimic până nu o accepți. Apoi Shell rulează comanda de compilare, iar cardul afișează codul de ieșire real. Rulează și testele. O compilare reușită dovedește doar sintaxa, nu și faptul că obiectul este eliberat în fiecare cale, așa că citește diferența lent. Rulează testele o dată încă după ce accepți diferența și păstrează versiunea veche a unitului în propriul tău backup sau control al versiunilor până nu ești sigur că gestionarul eliberează fiecare obiect în fiecare ramură.
Redenumește o procedură peste tot
Iată cum să modernizezi aplicațiile Delphi în pași mici: redenumește o procedură neclară, un nume pe rând. Cere agentului să o redenumească în fiecare unit. Acesta folosește grep pentru a lista fiecare loc unde apare numele, apoi edit_file modifică fiecare fișier, iar diferențele arată fiecare linie care se mută. Redenumește o dată. Revizuiește toate diferențele împreună, deoarece un cuvânt care se potrivește în interiorul unui șir sau al unui comentariu nu este întotdeauna un apel, apoi compilează proiectul și rulează testele înainte de a accepta ultimul fișier. Repetă redenumirea pentru următoarea procedură doar când compilarea și testele trec, astfel încât o greșeală să stea întotdeauna într-o singură diferență mică și să nu se ascundă niciodată în interiorul unei liste lungi de modificări neconexe pe multe unituri.
Explică o linie de buclă pe rând
Logica triunghiului Pascal explicată într-un unit scurt face o cerere de practică rezonabilă. Cere agentului să citească bucla și să descrie, pe rând, ce conține fiecare variabilă în fiecare trecere. Acesta apelează read_file, apoi răspunde în chat fără a scrie nimic, așa că Plan only este suficient. Verifică explicația rulând unitul însuși prin comanda ta de compilare și urmărind bucla pe hârtie pentru 3 sau 4 rânduri. Dacă agentul și programul nu sunt de acord, încredere în program și pune din nou întrebarea cu linia exactă citată. Fă același lucru pentru o a doua buclă dacă primul răspuns a ajutat și cere o explicație mai scurtă când un paragraf pare lung, deoarece poți cere întotdeauna mai multe detalii exact pe linia care te confuză.