Egy devops-fejlesztő életének napja: A munka felfüggesztése, hiba kijavítása és kódellenőrzés végrehajtása

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

A Visual Studio My Work and Code Review funkciói támogatják az egyik munkaszálról a másikra való váltást. Emellett a csapattagok könnyedén válthatnak üzeneteket a kód javasolt módosításairól. Ez a cikk bemutatja ezeket a funkciókat, folytatva az oktatóanyagot a Daytől egy devops-fejlesztő életében: Új kód írása egy felhasználói történethez.

Feljegyzés

A Visual Studio My Work és a Code Review funkciói az alábbi kiadásokkal érhetők el:

  • Visual Studio 2022: Visual Studio Community, Visual Studio Professional és Visual Studio Enterprise
  • Visual Studio 2019: Visual Studio Professional és Visual Studio Enterprise

Ez az oktatóanyag azt ismerteti, hogyan függesztheti fel a munkát egy aktuális feladaton, hogy azonnal kijavítsa a csapattagokat egy másik munkaelemben blokkoló hibát. A hiba kijavítása után megkérheti a munkatársait, hogy tekintse át a javítást, és miután a felülvizsgálat megtörtént, ellenőrizze a javítást, és folytassa a munkát az eredeti feladaton.

Az aktuális munka felfüggesztése

Miközben egy teendőlista-elemen dolgozik, előfordulhat, hogy egy másik elem hibája blokkolja a csapattagokat. Ha ez egy ismerős terület, létrehozhat egy feladatot a hiba kijavításához, és hozzárendelheti saját magához, hogy azonnal dolgozhasson rajta.

Mielőtt elkezdené a munkát az új hibán, győződjön meg arról, hogy az aktuális munkája a csapat kiszolgálóján biztonságos helyen van elhelyezve. A Visual Studio Team Explorer Saját munka lapján válassza a Felfüggesztés lehetőséget a kiszolgálón való mentéshez:

  • Minden elvégzett munka, beleértve a kód, a tesztek és más fájlok módosítását is.

  • Nyissa meg a megoldásokat, az ablakokat, a töréspontokat, az ablakváltozókat és a Visual Studio egyéb bitjeinek állapotát.

Most, hogy a munkaterület tiszta, húzza az új feladatot a Rendelkezésre álló munkaelemekből a Folyamatban lévő munka gombra. Készen áll a javítás kutatására és megírására.

Feljegyzés

A munkakörnyezet azokhoz a munkaelemekhez van csatolva, amelyek folyamatban állapotban jelennek meg a Saját munka lapon. A Felfüggesztés és a Folytatás funkcióval gyorsan válthat a különböző tevékenységek között. A megnyitott megoldások és fájlok, a kódmódosítások és a Visual Studio-elrendezések mind egymással váltanak.

Az aktuális munka felfüggesztése és egy másik tevékenységen végzett munka megkezdése

A munkahelyi környezet váltása:

  1. Ha még nem csatlakozott ahhoz a projekthez, amelyben dolgozni szeretne, csatlakozzon a projekthez.

  2. A Csapatkezelő kezdőlapján válassza a Saját munka lehetőséget.

  3. A Saját munka lap Folyamatban munka szakaszában válassza a Felfüggesztés lehetőséget.

  4. A megjelenő mezőben tetszés szerint módosítsa azt a nevet, amelyet fel szeretne függeszteni, majd válassza a Felfüggesztés lehetőséget. Az elem a Felfüggesztett munka területen jelenik meg.

    Képernyőkép néhány munka felfüggesztéséről.

  5. Húzzon egy munkaelemet az Elérhető munkaelemekből a Folyamatban lévő munka gombra. Másik lehetőségként átválthat egy korábban felfüggesztett munkaelemre úgy is, hogy a Felfüggesztett munka elemet húzza.

    Ha a hozzárendelni kívánt munkaelem nem jelenik meg az Elérhető munkaelemek területen, a következőkre van lehetősége:

    • Hozzon létre egy új feladatot vagy más munkaelemet az Új gombra kattintva.
    • Válasszon másik lekérdezést a Lekérdezés megnyitása lehetőség választásával.

Tipp.

A Folyamatban lévő munka elemek a kód aktuális változásaira és a Visual Studio állapotára hivatkoznak. Ha engedélyezni szeretné a Visual Studio számára a munka rendszerezését, győződjön meg arról, hogy a megfelelő elemek folyamatban lévő állapotban vannak, amikor egyik tevékenységről a másikra vált.

A hiba kivizsgálása

Nyissa meg az új hibát, és olvassa el a leírást. Ebben a példában a tesztcsapat egy tagjának leírása azt állítja, hogy a fizetős számla néha helytelenül nem fizetettként van megjelölve. A laborkörnyezet pillanatképe a hiba munkaelemhez van csatolva. Nyissa meg azt a virtuális gépet (virtuális gépet), amelyen a tesztet futtatták, tekintse meg a helytelen számlát, és lépjen vissza az IntelliTrace naplójába. A hibát a következő módszerre követheti nyomon:

public class LocalMath
{
    public static bool EqualTo(double a, double b)
    {
        return a == b;
    }

Az IntelliTrace naplóból láthatja, hogy a metódus néha hamis értéket ad vissza, mert a paraméterek rendkívül kis mennyiségben különböznek. Tudja, hogy az ilyen típusú kerekítési hibák elkerülhetetlenek a lebegőpontos aritmetika esetében, és hogy helytelen gyakorlat a lebegőpontos számok egyenlőségre való tesztelése.

A tesztek kiegészítése a hiba megjelenítéséhez

Ha hibát talál, az azt mutatja, hogy az egységtesztek között rés volt, vagy hogy a teszt nem felelt meg a felhasználók tényleges igényeinek. Ezért a hiba kijavítása előtt adjon hozzá egy tesztet, amely bemutatja a hiba jelenlétét:

// Added 2022-02-02 for bug 654321:
/// <summary>
/// Make sure that number equality test allows for 
/// small rounding errors.
/// </summary>
[TestMethod]
public void TestDoublesEqual()
{
    // Allow a rounding error of 1 in 1000000:
    TestEqual(1, 1e-7, true); // Less than allowed error
    TestEqual(1, 1e-5, false); // More than allowed error
    TestEqual(1000, 1e-7, true); // Less than allowed error
    TestEqual(1000, 1e-5, false); // More than allowed error
}
private void TestEqual(double value, double error, bool result)
{
    // Try different combinations of error and value:
    Assert.IsTrue(result == LocalMath.EqualTo(value + error, value));
    Assert.IsTrue(result == LocalMath.EqualTo(value, value + error));
    Assert.IsTrue(result == LocalMath.EqualTo(value - error, value));
    Assert.IsTrue(result == LocalMath.EqualTo(value, value - error));
}

Futtassa a tesztet, és a várt módon meghiúsul.

Képernyőkép a Unit Test Explorerről, amelyen az egyenlőség sikertelen tesztje látható.

A tesztek sikeressé tétele

Javítsa ki a kódot:

public static bool EqualTo(double a, double b)
{
    // Allow for rounding errors.
    // For example, a == 2.0 and b = 1.99999999999

    const double allowedError = 1/1000000;
    return System.Math.Abs(a - b) < allowedError;
}

A teszt most halad át:

Képernyőkép a Unit Test Explorerről, amelyen az egyenlő tesztnek megfelelt.

Kód felülvizsgálatának kérése

Ha elégedett a hiba megoldásával, még ne jelentkezzen be a munkájába. A csapatok kódellenőrzésekkel növelik a kód általános minőségét, és csökkentik a további hibák létrehozásának kockázatát. A Csapatkezelővel kódértékeléseket kérhet a csapattagoktól.

Kódvizsgálat kérése

  1. A CsapatkezelőBen a Folyamatban munka alatt a Saját munka lapon válassza a Kérés áttekintése lehetőséget.

    Megjelenik az Új kód áttekintése lap.

    Képernyőkép a Kérelemkód áttekintése lapról.

    • Az Enter mezőben adjon meg egy vagy több véleményezőt, és nyomja le az Enter billentyűt minden egyes kijelölés után.
    • A következő mezőben módosítsa a véleményezés nevét, ha szeretné.
    • A következő mezőben győződjön meg arról, hogy a megfelelő terület elérési útja jelenik meg.
    • A következő mezőbe írjon be egy opcionális leírást.
  2. Válassza a Kérelem elküldése lehetőséget.

A véleményezőket e-mailben értesítjük a kérésről.

A felfüggesztett munka, a polckészlet vagy a változáskészlet kódvizsgálatát is kérheti. A módosítások listájának megtekintéséhez nyissa meg a Source Control Explorert , és válassza az Előzmények gombot.

Kód áttekintése

A felülvizsgáló elfogadhatja a kód-felülvizsgálati kérelmet. A véleményező áttekinti a kódot, megjegyzéseket ír a fájl- és kódblokk szintjén, majd visszaküldi Önnek a kód felülvizsgálatát. A kért véleményező, aki túl elfoglalt a kód áttekintéséhez, elutasíthatja a felülvizsgálatot.

A megjegyzésekben a véleményező rámutat, hogy a teszt helytelen. Az engedélyezhető hiba a bemeneti értékek meghatározott töredékének kell lennie, nem pedig állandó mennyiségnek. Ezért a tesztnek meg kell szoroznia a hibát az értékkel.

// We allow a rounding error of 1 in 1000000
// as a fraction of the value:
TestEqual(1, 1e-7, true); // Less than allowed error
TestEqual(1, 1e-5, false); // More than allowed error
TestEqual(1000, 1000*1e-7, true); // Less than allowed error
TestEqual(1000, 1000*1e-5, false); // More than allowed error

Tipp.

A csapattagok a teszteket használják vitafórumként. Ha a tesztek helyesek és elegendőek, a kód is lesz. A kódtól eltérően minden teszt külön esetet jelöl. Ezért a teszteket gyakran könnyebb megvitatni, mint a kódot.

Kódáttekintés futtatása

  1. A Csapatkezelő Saját munka lapján kattintson a jobb gombbal a kód véleményezésére a Kódértékelések szakaszban, és válassza a Megnyitás lehetőséget.

    Megjelenik a Kód áttekintése lap.

    Képernyőkép a Kód áttekintése lapról.

  2. A Kód áttekintése lapon a következőt teheti:

    • Válassza a Véleményező hozzáadása lehetőséget, ha további véleményezőket szeretne hozzáadni a kód-felülvizsgálati kérelemhez.

    • Jelölje ki az egyes fájlhivatkozásokat a munkaelemhez frissített fájlok módosításainak megtekintéséhez.

    • A Megjegyzések funkcióval megvitathatja a módosításokat a szerzővel és más véleményezőkkel.

      Megjegyzések hozzáadása:

      • Az Általános megjegyzés hozzáadása lehetőséget választva általános megjegyzést adhat hozzá a véleményhez.
      • Fájl megtekintésekor jelöljön ki egy sort vagy kódblokkot, kattintson a jobb gombbal, és válassza a Megjegyzés hozzáadása parancsot.

      Az egyes megjegyzések hozzáadása után válassza a Mentés vagy a Ctrl+Enter billentyűkombinációt.

  3. Ha befejezte a megjegyzések megadását, válassza a Megjegyzések küldése lehetőséget, hogy a hozzászólások láthatóvá tegyék a szerző és más véleményezők számára.

Válasz kódkontrasztra

A kód felülvizsgálatát a véleményezők kapják meg és válaszolják meg. Ön és a véleményezők tetszés szerint cserélhetnek megjegyzéseket. A felülvizsgálat akkor ér véget, amikor bezárja.

A kód áttekintésére való válaszadás

  1. A Csapatkezelő Saját munka lapján nyissa meg a Kód áttekintése szakaszt, és kattintson duplán a kérelemre, vagy kattintson a jobb gombbal a kérelemre, és válassza a Megnyitás parancsot.

    Megjelenik a Kód áttekintése lap.

    Képernyőkép a kód áttekintésére való válaszadásról.

  2. A Megjegyzések szakaszban olvassa el a megjegyzéseket, és szükség szerint válaszoljon rájuk. Megjegyzés megválaszolásához válassza a Válasz lehetőséget, írja be a megjegyzést a megjelenő mezőbe, majd kattintson az OK gombra.

  3. Ha meg szeretne tekinteni egy fájlt, és meg szeretné tekinteni a megjegyzéseket tartalmazó kódblokkokat, vagy szerkeszteni vagy megjegyzést fűzni egy fájlhoz, nyissa meg a Fájlok alszakaszt. Kattintson a jobb gombbal a fájlra, és válassza a következő lehetőségeket:

    • Összehasonlítás (írásvédett)
    • Helyi fájl szerkesztése vagy
    • Fájl megjegyzésének hozzáadása

    A megjegyzés melletti jelölőnégyzet bejelölésével jelezheti, hogy a megjegyzés kezelése megtörtént.

  4. Megjegyzései elküldéséhez válassza a Megjegyzések küldése lehetőséget.

  5. Amikor Ön és a többi véleményező befejezi a válaszadást egymás megjegyzéseire, és készen áll a véleményezés bezárására, válassza a Véleményezés bezárása lehetőséget, majd válassza a következőt:

    • Kész , hogy jelezze, hogy a felülvizsgálat befejeződött, vagy
    • Hagyja abba , hogy jelezze, hogy lemondja a felülvizsgálatot.

A teszt és a kód javítása

A véleményezési megjegyzések elolvasása után a javasolt módon kijavíthatja az egységtesztet. A teszt most meghiúsul. Ez azt mutatja, hogy a kód még nem helyes.

A kód kijavítása:

/// <summary>
/// Returns true if two numbers are equal.
/// </summary>
public static bool EqualTo(double a, double b)
{
    // Allow for rounding errors.
    const double allowedErrorMultiple = 1/1000000;
    double allowedError = (System.Math.Abs(a) + System.Math.Abs(b)) * allowedErrorMultiple/2;
    return System.Math.Abs(a - b) < allowedError;
}

A teszt ismét átmegy.

Tipp.

Hiba kijavításához kövesse ugyanazt a gyakorlatot, mint a kódfejlesztés során. Írjon egy sikertelen tesztet, majd végezze el a tesztet. Csak akkor ellenőrizze a kódot és a teszteket, ha a tesztek sikeresek.

Most arra a tesztesetre fordítja a figyelmét, amelyben a hibát felfedezték. A hiba reprodukálásának lépéseit a teszteset munkaeleme egyértelműen ismerteti. Kövesse a lépéseket, és felderítse, hogy a számlák helyesen vannak felsorolva.

A javítás beadása

A rögzített kódot és az egységteszteket is be kell jelentkezni. A hiba állapota automatikusan Feloldva értékre van állítva, a hozzárendelt érték pedig automatikusan át lesz rendelve annak a tesztcsapatnak a tagjára, aki felfedezte a hibát. A csapattag ellenőrzi, hogy a hiba kijavítva lett-e, és bezárja a munkaelemet.

A javítás beadása

  1. A Csapatkezelő Saját munka lapján válassza a Bejelentkezés a Függőben lévő módosítások lap megnyitásához.

    Képernyőkép a hiba kijavításához be kell jelentkeznie egy frissítésbe.

  2. A Függőben lévő módosítások lapon győződjön meg arról, hogy:

    • Az összes releváns módosítás szerepel a belefoglalt módosítások között

    • Az összes releváns munkaelem szerepel a kapcsolódó munkaelemek között.

  3. Írjon be egy megjegyzést, amely segít a csapatnak megérteni ezeknek a módosításoknak a célját, amikor megtekintik a módosított fájlok és mappák verziókövetési előzményeit.

  4. Válassza a Bejelentkezés.

Munka folytatása egy tevékenységen

Folytassa a munkát az eredeti feladaton. Gyorsan visszatérhet a munkához, mert az összes kódmódosítás visszakerül a munkaterületre, valamint fontos állapotbiteket, például nyitott ablakokat, töréspontokat és ablakváltozókat.

Feladaton végzett munka folytatása

  • A Csapatkezelő Saját munka lapján válassza ki az eredeti munkaelemet a Felfüggesztett munka területen, majd válassza az Önéletrajz lehetőséget.

    Képernyőkép egy tevékenység folytatásáról.

    Vagy ha egyesíteni szeretné a felfüggesztett munkát a munkaterület függőben lévő módosításaival, válassza az Egyesítés folyamatban elemet.

A munka folytatásakor a Visual Studio visszaállítja a következőt:

  • A nyitott megoldás
  • A kód módosítása
  • A megnyitott ablakok állapota és pozíciója
  • Töréspontok
  • Ablakváltozók és -kifejezések megtekintése
  • Könyvjelzők