Dva základné nástroje vo vývoji softvéru sú Patch a Diff . Ako fungujú, nie je záhadou, ale myslím si, že toto bude zaujímavý príspevok. 😉
Oba sú veľmi výkonné a je to ako dotyk povrchu, majú viac obslužných programov a ďalších funkcií. V zásade pomocou týchto dvoch nástrojov môžeme vytvoriť správu verzií,
Diff
Odkazujeme na porovnanie, porovnáva sa „pôvodný“ súbor s „novým“ súborom a informuje nás o rozdieloch, ktoré medzi nimi existujú. Tento nástroj nám tiež umožňuje vytvárať súbory .patch, ktoré používame na vytváranie opráv pre naše programy.
Náplasť
Je to príkaz, ktorým doslova „opravíme“ náš pôvodný súbor, pridáme alebo odstránime riadky podľa pokynov obsiahnutých v súbore .patch
Existuje aj vimdiff , vizuálny nástroj na aplikáciu záplat bez potreby súboru .patch, ktorý porovnáva „pôvodnú“ a „novú“ verziu a umožňuje vám upravovať riadok po riadku alebo celý dokument v rámci toho istého súboru. Nebudem to vysvetľovať, ale myslím si, že to stojí za zmienku.
Príklad
Teraz je zábava. Príklad!
V takom prípade máme vynikajúci scenár, ktorý sa pýta na vaše meno a váš vek. Ak máte viac ako 18 rokov, hovorí vám, že môžete voliť, inak hovorí, že nemôžete voliť.
originál.sh
#! / bin / bash echo "Zadajte svoje meno:" prečítajte si echo označíte "Zadajte svoj vek:" prečítajte vek, ak [[18 -lt $ vek]] potom ozvite sa "Ahoj $ meno, máš $ starý a môžeš voliť!" else echo "Ahoj $ meno, máš $ rokov a nemôžeš voliť ..." fi
Obrázok kódu vo Vime
Hotovo, tu je spustený skript:
Zdá sa, že všetko funguje dobre
Ako dobrí používatelia teda sme, zdieľame náš skript s priateľom :), ale zobrazí sa nám správa, že má chybu, že keď má 18 rokov, hovorí, že nemôže hlasovať, keď má.
Logická chyba
Teraz začneme opravovať malú chybu a urobíme niekoľko úprav ...
nový.sh
#! / bin / bash maxAge = 18 echo "Zadajte svoje meno:"; prečítať echo mena „Napíš svoj vek:“; čítať vek, ak [[$ maxAge -le $ age]]; potom ozvite „Ahoj $ meno, máš $ rokov a môžeš hlasovať!“ else echo "Dobrý deň, $ meno, ste $ starí a nemôžete hlasovať ..." fi výstup 0
Nový kód napísaný vo Vime
Predpokladajme, že skript je veľmi ťažký. Aby sme sa vyhli opätovnému odosielaniu celého skriptu, vytvoríme .patch
$ diff -u original.sh new.sh> patch.patch
A teraz máme náš patch. Tu je pohľad vo Vime :
Takto vyzerajú pokyny pre .patch. Biele čiary, ktoré neboli zmenené, modrou farbou tie, ktoré boli odstránené, oranžovou farbou, ktoré boli pridané.
Na jeho použitie jednoducho použijeme súbor .patch v skripte, ktorý chceme opraviť. Tu sa nazýva originalAmigo.sh a je to presná kópia skriptu original.sh .
Priateľ skript
$ patch originalFriend.sh <patch.patch
A náš pôvodný súbor Amigo.sh tak vyzerá takto:
Priateľský skript po použití opravy
Ako vidíte, je veľmi ľahké zohnať rozdiely a použiť opravy. Všetko je to odo mňa.
Zdravím ľudí, prečítame si budúci piatok.