Přeskočit na obsah
cd /languages
Dlouhověké .NETProgramováníPlná podpora grafu

Podpora C# v nástroji Maguyva: bezpečnější refaktoring pro codebase v .NET

Maguyva podporuje C# díky AST parsování a extrakci symbolů, takže AI agenti dokážou pracovat napříč službami .NET, byznysovou logikou plnou LINQ, sdílenými knihovnami a dlouhověkými enterprise repozitáři.

Na čem záleží ve vyzrálých codebase .NET

Spousta týmů používajících nástroje AI žije v .NET, ne v greenfield JavaScriptu. Mají API, worker procesy, sdílené modely, interní knihovny a roky byznysové logiky. Otázka nezní, jestli LLM umí vygenerovat syntaxi C#. Otázka zní, jestli dokáže zůstat ukotvený uvnitř repozitáře, kde jedna špatná úprava dokáže rozvlnit služby, modely i sdílené abstrakce.

Proto musí být stránka o C# konkrétnější než jen „podporováno“.

Co Maguyva v C# skutečně extrahuje

Maguyva normalizuje importy using, odstraňuje z definic nullable a array přípony jako ? a [] a uzly volání podobné konstruktorům zpracovává jako instanciace, přičemž odstraňuje generické závorky. To jsou užitečné detaily v třídně těžkých repozitářích C#, protože díky nim je graf kolem skutečných doménových typů čistší.

Konfigurace navíc odfiltruje spoustu šumu z BCL a LINQ. Na tom záleží víc, než by se mohlo zdát. Ve vyzrálých codebase .NET není graf ovládaný voláními frameworku moc užitečný. Užitečný je graf, ve kterém stále vyniknou controllery, služby, DTO a pomocné třídy specifické pro daný repozitář.

Užitečné workflow MCP pro codebase .NET

Praktický postup obvykle začíná takto:

  • find_symbol, když znáte název controlleru, služby, DTO nebo modelu.
  • dependency_search dřív, než upravíte sdílenou službu nebo typ, který může mít široké použití napříč kódem.
  • get_task_context pro dotazy typu „projít tento request od controlleru po repository“, když cesta prochází přes několik vrstev.

Kdy je tato stránka užitečná

Tato stránka je pro týmy, které chtějí asistenci AI uvnitř skutečného codebase .NET, ne jen v ukázkovém projektu. Pokud je okolní systém spíš JVM než .NET, porovnejte to s Javou. Pokud je vaše vrstva v C# jen jednou částí většího polyglotního systému, obvykle se hodí i sousední stránka TypeScript.

Nejlépe se hodí pro

  • >Repozitáře ASP.NET, worker služeb a interních platforem, které kombinují webové endpointy, joby a sdílené knihovny.
  • >Týmy udržující vyzrálá prostředí .NET, kde LINQ, asynchronní toky a abstrakce frameworku skrývají skutečnou cestu provedení.
  • >Týmy testující, zda agent dokáže zůstat ukotvený ve vrstveném kódu .NET ještě před přepisem byznysové logiky.

Workflow agentů

  • >Projít cestu přes controller, službu a repository ještě před úpravou byznysové logiky.
  • >Zjistit, kde je model, DTO nebo sdílený utility nástroj vytvářen napříč repozitářem.
  • >Pochopit okolní vzory LINQ nebo asynchronního kódu dřív, než necháte agenta cokoliv přepsat.

Podrobnosti enginu

  • >Prefixy `using` se u importů normalizují a nullable nebo array přípony jako `?` a `[]` se odstraňují z definic symbolů.
  • >Instanciace používá call uzly s odstraněním generických závorek, což pomáhá udržet použití podobné konstruktoru čitelné v grafu.
  • >Konfigurace explicitně filtruje velké množství šumu z BCL a LINQ, aby se snáz vynořily služby a modely specifické pro repozitář.

Užitečné vstupní body MCP

  • find_symbol

    Použijte ho, když znáte název controlleru, služby, DTO nebo sdíleného typu, kterého se chystáte dotknout.

  • dependency_search

    Použijte příchozí traverzování před úpravou core služby nebo modelu používaného napříč aplikací.

  • get_task_context

    Užitečné pro dotazy jako „sleduj tento request od controlleru po repository“ ve vrstvených .NET kódových bázích.