A .NET Compiler Platform SDK
A fordítók az alkalmazáskód részletes modelljét készítik el, miközben ellenőrzik a kód szintaxisát és szemantikáját. Ezzel a modellel készítik el a végrehajtható kimenetet a forráskódból. A .NET Compiler Platform SDK hozzáférést biztosít ehhez a modellhez. Egyre nagyobb mértékben támaszkodunk az integrált fejlesztési környezet (IDE) olyan funkcióira, mint az IntelliSense, az újrabontás, az intelligens átnevezés, a "Minden hivatkozás keresése" és a "Go to definition" (Ugrás a definícióra) a hatékonyság növelése érdekében. Kódelemzési eszközökre támaszkodunk a kódminőség javítása érdekében, és a kódgenerátorok segítségével segítjük az alkalmazásépítést. Ahogy ezek az eszközök intelligensebbek lesznek, egyre több olyan modellhez kell hozzáférniük, amelyet csak a fordítók hoznak létre az alkalmazáskód feldolgozása során. Ez a Roslyn API-k alapvető küldetése: az átlátszatlan mezők megnyitása, valamint annak lehetővé tétele, hogy az eszközök és a végfelhasználók megoszthassanak a kóddal kapcsolatos rengeteg információt fordítók között. Ahelyett, hogy átlátszatlan forráskód- és objektumkód-out fordítók, a Roslynen keresztül a fordítók platformmá válnak: API-k, amelyeket kódokkal kapcsolatos feladatokhoz használhat az eszközeiben és alkalmazásaiban.
A .NET Compiler Platform SDK fogalmai
A .NET Compiler Platform SDK jelentősen csökkenti a kódközpontú eszközök és alkalmazások létrehozásának akadályát. Számos lehetőséget teremt az innovációra olyan területeken, mint a metaprogramozás, a kódlétrehozás és -átalakítás, a C# és Visual Basic nyelvek interaktív használata, valamint a C# és a Visual Basic beágyazása tartományspecifikus nyelveken.
A .NET Compiler Platform SDK lehetővé teszi olyan elemzők és kódjavítások készítését, amelyek megkeresik és kijavítják a kódolási hibákat. Az elemzők megértik a szintaxist (a kód szerkezetét) és a szemantikát a javítandó eljárások észleléséhez. A kódjavítások egy vagy több javasolt javítást biztosítanak az elemzők vagy a fordító diagnosztikái által talált kódolási hibák elhárításához. Az elemzők és a kapcsolódó kódjavítások általában egyetlen projektbe vannak csomagolva.
Az elemzők és a kódjavítások statikus elemzéssel értelmezik a kódot. Nem futtatják a kódot, és nem biztosítanak más tesztelési előnyöket. Azonban rámutathatnak az olyan gyakorlatokra, amelyek gyakran hibákhoz, elérhetetlen kódhoz vagy szabványos irányelvsértéshez vezetnek.
Az elemzők és a kódjavítások mellett a .NET Compiler Platform SDK lehetővé teszi a kód újrabontását is. Emellett egyetlen API-készletet biztosít, amely lehetővé teszi egy C# vagy Visual Basic kódbázis vizsgálatát és megértését. Mivel használhatja ezt az egyetlen kódbázist, könnyebben írhat elemzőket és kódjavításokat a .NET Compiler Platform SDK által biztosított szintaktikai és szemantikai elemzési API-k használatával. A fordító által végzett elemzés replikálásának nagy feladatától eltekintve a projekt vagy tár gyakori kódolási hibáinak megkeresésére és kijavítására összpontosíthat.
Kisebb előnye, hogy az elemzők és a kódjavítások kisebbek, és sokkal kevesebb memóriát használnak Visual Studio betöltésekor, mint ha saját kódbázist írt volna a projekt kódjának megértéséhez. A fordító és a Visual Studio által használt osztályokat használva létrehozhatja saját statikus elemzési eszközeit. Ez azt jelenti, hogy csapata anélkül használhat elemzőket és kódjavításokat, hogy az észrevehető hatással lenne az IDE teljesítményére.
Az elemzők írásának és a kódjavításoknak három fő forgatókönyve van:
- Csapatkódolási szabványok kényszerítése
- Útmutatás a kódtárcsomagokkal kapcsolatban
- Általános útmutatás megadása
Csapatkódolási szabványok kényszerítése
Számos csapat rendelkezik olyan kódolási szabványokkal, amelyeket kódellenőrzések útján érvényesítenek a többi csapattaggal. Az elemzők és a kódjavítások sokkal hatékonyabbá tehetik ezt a folyamatot. A kódértékelések akkor fordulnak elő, ha egy fejlesztő megosztja a munkáját a csapat más tagjaival. A fejlesztő minden szükséges időt fektetett be egy új funkció befejezéséhez, mielőtt megjegyzéseket kap. Hetekbe telt, amíg a fejlesztő megerősíti azokat a szokásokat, amelyek nem felelnek meg a csapat gyakorlatának.
Az elemzők fejlesztőként futnak, és kódot írnak. A fejlesztő azonnali visszajelzést kap, amely arra ösztönzi, hogy azonnal kövesse az útmutatást. A fejlesztők szokásokat építenek a megfelelő kód megírására, amint elkezdik a prototípus-készítést. Ha a funkció készen áll az emberek számára az áttekintésre, az összes szabványos útmutatót kikényszerítették.
Teams létrehozhat elemzőket és kódjavításokat, amelyek a csapat kódolási gyakorlatát sértő leggyakoribb eljárásokat keresik. Ezek az egyes fejlesztők gépére telepíthetők a szabványok érvényre juttatásához.
Tipp
A saját elemző létrehozása előtt tekintse meg a beépített elemeket. További információ: Kódstílus-szabályok.
Útmutatás a kódtárcsomagokkal kapcsolatban
A NuGetben rengeteg kódtár érhető el a .NET-fejlesztők számára. Ezek némelyike a Microsofttól, néhány külső cégtől, mások pedig a közösség tagjaitól és önkénteseitől származik. Ezek a kódtárak nagyobb bevezetést és magasabb szintű felülvizsgálatot kapnak, amikor a fejlesztők sikeresek lehetnek ezekkel a kódtárakkal.
A dokumentáción kívül olyan elemzőket és kódjavításokat is biztosíthat, amelyek megtalálják és kijavítják a kódtár gyakori helytelen használatát. Ezek az azonnali javítások segítenek a fejlesztőknek a gyorsabb sikerben.
Az elemzőket és a kódjavításokat a NuGet-kódtár segítségével csomagolhatja be. Ebben a forgatókönyvben minden fejlesztő, aki telepíti a NuGet-csomagot, az elemzőcsomagot is telepíti. A kódtárat használó összes fejlesztő azonnal útmutatást kap a csapatától, azonnali visszajelzés formájában a hibákról és a javasolt javításokról.
Általános útmutatás megadása
A .NET fejlesztői közösség a tapasztalatok alapján olyan mintákat talált, amelyek jól működnek, és a legjobban elkerült mintákat. Számos közösségtag hozott létre elemzőket, amelyek kikényszeríti az ajánlott mintákat. Ahogy egyre többet megtudunk, mindig van hely az új ötleteknek.
Ezeket az elemzőket feltöltheti a Visual Studio Marketplace-be, és a fejlesztők letölthetik Visual Studio használatával. A nyelvre és a platformra újonnan érkezők gyorsan elsajátíthatják az elfogadott eljárásokat, és a .NET-folyamatuk korábbi szakaszában hatékonyan dolgozhatnak. Mivel ezek egyre szélesebb körben elterjedtek, a közösség elfogadja ezeket a gyakorlatokat.
Következő lépések
A .NET Compiler Platform SDK tartalmazza a legújabb nyelvi objektummodelleket a kódlétrehozáshoz, elemzéshez és újrabontáshoz. Ez a szakasz a .NET Compiler Platform SDK fogalmi áttekintését tartalmazza. További részletek a rövid útmutatók, minták és oktatóanyagok szakaszában találhatók.
A .NET Compiler Platform SDK-ban a következő öt témakörben tudhat meg többet a fogalmakról:
- Kód felfedezése a szintaxisábrázolóval
- A fordító API-modell ismertetése
- Szintaxis használata
- Szemantikával végzett munka
- Munkaterülettel végzett munka
Az első lépésekhez telepítenie kell a .NET Compiler Platform SDK-t:
Telepítési utasítások – Visual Studio Installer
A .NET Compiler Platform SDK-t kétféleképpen keresheti meg a Visual Studio Telepítőben:
Telepítés a Visual Studio Telepítő – Számítási feladatok nézet használatával
A .NET Fordítóplatform SDK nem lesz automatikusan kiválasztva a Visual Studio bővítményfejlesztési számítási feladat részeként. Választható összetevőként kell kiválasztania.
- Visual Studio Installer futtatása
- Válassza a Módosítás lehetőséget
- Ellenőrizze a Visual Studio bővítményfejlesztési számítási feladatát.
- Nyissa meg a Visual Studio bővítményfejlesztési csomópontot az összefoglaló fában.
- Jelölje be a .NET Compiler Platform SDK jelölőnégyzetét. Az utolsót a választható összetevők alatt találja.
Szükség esetén azt is szeretné, hogy a DGML-szerkesztő diagramokat jelenítsen meg a vizualizációban:
- Nyissa meg az Egyes összetevők csomópontot az összefoglaló fában.
- Jelölje be a DGML-szerkesztő jelölőnégyzetét
Telepítés a Visual Studio Telepítő – Egyes összetevők lapon
- Visual Studio Installer futtatása
- Válassza a Módosítás lehetőséget
- Az Egyes összetevők lap kiválasztása
- Jelölje be a .NET Compiler Platform SDK jelölőnégyzetét. A fordítók, a buildeszközök és a futtatókörnyezetek szakasz tetején található.
Szükség esetén azt is szeretné, hogy a DGML-szerkesztő diagramokat jelenítsen meg a vizualizációban:
- Jelölje be a DGML-szerkesztő jelölőnégyzetét. Ezt a Kódeszközök szakaszban találja.