Otevřete projekt, proveďte jednu změnu, zkontrolujte ji
Dobrý pracovní postup v Delphi je jednoduchý. Otevřete složku projektu, požádejte o jednu změnu, přečtěte diff a spusťte příkaz pro sestavení. Arraydeck tento cyklus sleduje pomocí skutečných nástrojů, takže každý krok zanechá v chatu kartu, kterou můžete rozbalit a zkontrolovat – od prvního vyhledávání až po poslední návratový kód. Nic není skryto za shrnutím. Pokud krok vypadá špatně, cyklus zastavíte, změnu odmítnete a požadavek přeformulujete; soubory zůstanou takové, jaké byly před tímto krokem. Stejný čtyřkrokový postup funguje na malé jednotě i na projektu s mnoha formuláři. Začátečníci i dlouholetí správci mohou začít s vyhledáváním pouze pro čtení, protože nemění žádný soubor a stále ukazuje, jak je projekt uspořádán.
01
Otevřete složku
Vyberte složku, která obsahuje vaše soubory .dpr a .pas, jako pracovní složku chatu. Nástroje pro práci se soubory fungují uvnitř ní, takže vyberte projekt, který chcete změnit, a ne nadřazenou složku s nesouvisející prací. Nadřazená složka s mnoha projekty ztěžuje čtení prvního vyhledávání a zvyšuje riziko úpravy špatné jednoty.
02
Popište jednu změnu
Napište jednu úlohu prostými slovy, například název procedury a co by se mělo změnit, a před odesláním vyberte Auto-run, Ask first nebo Plan only. Malé úlohy dávají malé diffy, které se snadno čtou. Pojmenujte jednotu, pokud ji znáte; agent ji může najít pomocí glob, ale pojmenovaná jednota zužuje první vyhledávání.
03
Přečtěte si diff
Rozbalte kartu edit_file, přečtěte každý přidaný a odstraněný řádek, pak změnu přijměte nebo odmítněte. Pokud jste použili Plan only, nejprve si přečtěte plán a přepněte na Ask first, abyste ho provedli krok za krokem. Velmi dlouhý diff znamená, že úloha byla příliš velká, takže ji odmítněte a rozdělte požadavek na dva menší.
04
Sestavte a otestujte
Nechte Shell spustit váš příkaz pro sestavení a příkaz pro testování a přečtěte si skutečný návratový kód na kartě. Úspěšné sestavení je dobrým znamením, ale pouze vaše vlastní testy vám řeknou, zda je chování stále správné. Spusťte sestavení před testy a mějte obě karty otevřené, aby se při selhání dala chyba vystopovat k jedné změně.
Malá jednotka k procvičení
Arraydeck · Nová jednotka● Ask first
Vytvořte Greeter.pas s funkcí Greet a zkontrolujte, zda projekt sestaví.
list_dir.6 záznamů
write_fileGreeter.pasuloženo
read_fileGreeter.pasnačteno
Shellbuild.batexit 0
čeká na tvé potvrzení před dalším krokemOdmítnoutPřijmout
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 přijme jméno a vrátí pozdrav. Když je jméno prázdné, odpoví Hello, guest, jinak spojí jméno s textem a Result obsahuje návratovou hodnotu funkce. Sekce interface funkci deklaruje a sekce implementation obsahuje její kód, což je standardní rozložení každé jednotky.
Čtyři úkoly pro údržbu softwaru v Delphi
Najděte, kde je uloženo nastavení
Začátečníci, kteří se učí Delphi, se často ptají, kde hodnota skončí na disku. Požádejte Arraydeck, aby našel, kde je nastavení zapsáno. Agent spustí grep pro název nastavení přes vaše soubory .pas, pak read_file otevře odpovídající jednotu a odpověď se objeví v chatu s názvy souborů a řádky. Nic se nezmění. Otevřete jednotu ve svém editoru, abyste potvrdili, že procedura je ta, kterou jste měli na mysli, a před požadavkem na úpravu si poznamenejte název souboru. Toto vyhledávání pouze pro čtení je dobrý první krok na jakémkoli projektu, který jste nenapsali vy. Zapište si soubor a řádek před tím, než požádáte o jakoukoli úpravu, protože přesný název souboru a číslo řádku udělají další požadavek stručným a další diff snadno sledovatelným pro každého, kdo bude po vás číst váš projekt.
Přidejte try finally kolem objektu
Požádejte o bezpečnější obslužnou rutinu: najděte proceduru, která vytváří objekt, a ujistěte se, že je uvolněna. Agent vyhledá pomocí grep, přečte jednotu a navrhne změnu pomocí edit_file, zabalí kód do try ... finally ... Free. V Ask first se diff zobrazí a nic se nezapisuje, dokud ho nepřijmete. Pak Shell spustí váš příkaz pro sestavení a karta zobrazí skutečný návratový kód. Spusťte také své testy. Sestavení, které projde, prokazuje pouze syntaxi, ne že je objekt uvolněn v každé cestě, takže diff čtěte pozorně. Testy spusťte ještě jednou po přijetí diffu a starou verzi jednoty si ponechte ve své záloze nebo v systému řízení verzí, dokud si nebudete jisti, že obslužná rutina stále uvolňuje každý objekt v každé větvi.
Přejmenujte proceduru všude
Takhle modernizujte aplikace Delphi v malých krocích: přejmenujte nejasnou proceduru, jedno jméno najednou. Požádejte agenta, aby ji přejmenoval v každé jednotě. Použije grep k výpisu každého místa, kde se jméno vyskytuje, pak edit_file změní každý soubor a diffy zobrazí každý řádek, který se přesouvá. Přejmenujte jednou. Zkontrolujte všechny diffy společně, protože shodné slovo uvnitř řetězce nebo komentáře nemusí být vždy voláním, pak projekt sestavte a spusťte testy před přijetím posledního souboru. Opakujte přejmenování pro další proceduru pouze tehdy, když projde sestavení a testy, aby chyba vždy seděla v jednom malém diffu a nikdy se neukryvala v dlouhém seznamu nesouvisejících změn napříč mnoha jednotami.
Vysvětlete smyčku řádek po řádku
Logika Pascalova trojúhelníku vysvětlená v krátké jednotce je fér požadavek na procvičení. Požádejte agenta, aby přečetl smyčku a popsal řádek po řádku, co každá proměnná obsahuje v každé iteraci. Zavolá read_file, pak odpoví v chatu bez zápisu čehokoli, takže Plan only stačí. Zkontrolujte vysvětlení spuštěním jednotky přes svůj příkaz pro sestavení a sledováním smyčky na papíře pro 3 nebo 4 řádky. Pokud se agent a program liší, důvěřujte programu a položte otázku znovu s doslovným citátem přesného řádku. Udělejte to samé pro druhou smyčku, pokud první odpověď pomohla, a požádejte o kratší vysvětlení, když se odstavec zdá dlouhý, protože vždy můžete požádat o více podrobností přesně na řádku, který vám dělá potíže.