Arraydeck
Pracovní postupy

Pracovní postup Delphi ve 4 krocích

03
Od začátku do konce

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í

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.

Arraydeck pro Windows

Spusťte čtyři kroky na svém vlastním projektu

Stáhnout Arraydeck ↗