Po co to istnieje?
Duże repozytoria C# nie psują się wyłącznie przez duże błędy. Z czasem odkładają się drobne niespójności: whitespace, usingi w złej kolejności, stare konstrukcje składniowe, brak jawnych modyfikatorów, regiony, nieuporządkowane namespace'y i brak dokumentacji. Każda pojedyncza rzecz jest banalna, ale ręczne poprawianie tysięcy takich przypadków zabiera czas i zwykle nie jest robione konsekwentnie.
Code Janitor automatyzuje ten powtarzalny etap pracy. Zamiast traktować cleanup jako jednorazowe sprzątanie przed review, można ustalić reguły, wybrać zakres i dostać przewidywalny zestaw zmian do sprawdzenia.
Projekt jest niezależnie rozwijaną kontynuacją kodu wywodzącego się z CodeMaid. Zachowuje sprawdzone możliwości oryginału, a równocześnie rozwija je pod współczesne Visual Studio, .NET, Razor i sposób pracy zespołów.
Dwa środowiska, dwa zestawy możliwości.
Wspólna filozofia działania.
Najważniejsze operacje cleanup są deterministyczne i lokalne. Nie potrzebują modelu AI, konta ani wysyłania kodu do zewnętrznego dostawcy. To ma znaczenie szczególnie w repozytoriach, w których kod nie powinien opuszczać środowiska deweloperskiego.
Zakres jest jawny: pojedynczy plik, wybrane pliki, projekt, workspace, pliki zmienione przez Git albo reguła uruchamiana przy zapisie — zależnie od środowiska. Reguły mogą być konfigurowane indywidualnie lub zapisane jako polityka repozytorium.
AI jest dodatkiem, nie warunkiem działania. Tam, gdzie jest używane, pozostaje opt-in i służy do zadań, które rzeczywiście wymagają generowania lub analizy, takich jak XML documentation, review, refaktoryzacja czy generowanie testów.
Kontrola zmian.
Cleanup nie ma zastępować code review. W Visual Studio deterministyczne zmiany C# można podejrzeć jako natywny diff przed zastosowaniem. W VS Code zmiany również powinny być przeglądane, szczególnie przy modernizacji składni, ponieważ silnik nie wykonuje semantycznej analizy Roslyn.
Polityka .codejanitor pozwala zespołowi współdzielić ustawienia. Lokalny developer nadal może świadomie nadpisać politykę ustawieniami użytkownika tam, gdzie dane środowisko tego wymaga.
To narzędzie do utrzymywania kodu w ryzach, a nie mechanizm do bezwarunkowego przepisywania całego rozwiązania.
Pochodzenie i granice projektu.
Code Janitor dla Visual Studio jest forkiem i niezależną kontynuacją CodeMaid. Rozszerzenie VS Code jest osobną implementacją, korzystającą z tej samej idei i polityki cleanup, ale ma własny silnik i własny zestaw funkcji.
Dlatego ta strona opisuje Code Janitor jako jeden projekt i dwa środowiska, ale nie udaje, że oba rozszerzenia mają identyczny zestaw możliwości.