← Powrót do funkcji
Pro

Zasięg kodu

Code Coverage testuje każdy selektor w każdym czytelnym arkuszu stylów w porównaniu z aktywną stroną, dzięki czemu można zobaczyć, które reguły CSS obecnie do niczego nie pasują, ile bajtów marnuje każdy plik i które skrypty wstrzymują pierwsze malowanie.

Arkusze stylów tylko rosną. Pojawia się motyw z regułami dla stron, których nie masz, framework zawiera komponenty, których nigdy nie używasz, a trzy przeprojektowania później nikt nie jest pewien, która połowa pliku jest nośna. Rezultatem jest CSS, który kosztuje każdą przepustowość odwiedzającego i czas renderowania, aby dostarczyć reguły, z których strona nie może skorzystać.

Code Coverage mierzy to bezpośrednio. Przechodzi przez każdą regułę w każdym arkuszu stylów, który przeglądarka pozwoli mu przeczytać — łącznie z regułami zagnieżdżonymi w zapytaniach o media, blokach @supports i @layer — i testuje każdy selektor względem działającego DOM. Reguła, która w tej chwili nie pasuje do niczego, jest zgłaszana jako nieużywana w każdym pliku, z procentem, zmarnowanymi bajtami i pełną listą selektorów, które możesz rozwinąć i skopiować.

Uważa na oczywiste pułapki. Pseudoelementy i pseudoklasy stanu są usuwane przed dopasowaniem, więc reguła :hover lub ::before jest oceniana na podstawie tego, czy jej selektor podstawowy istnieje, a nie na podstawie błędnego zapisywania. Arkusze stylów udostępniane między źródłami bez nagłówków CORS nie mogą zostać odczytane przez żaden skrypt, dlatego są oznaczane jako nieczytelne, a nie dyskretnie liczone jako doskonałe. A ponieważ skanowanie odzwierciedla stan strony w danym momencie, reguły dotyczące menu, kart i modułów modalnych, które nie są jeszcze otwarte, będą wyglądać na nieużywane — więc otwórz je i naciśnij przycisk Skanuj ponownie, zanim cokolwiek usuniesz.

Zakładka JavaScript odpowiada na inne pytanie: wagę i blokowanie. Inwentaryzuje każdy skrypt ładowany przez stronę, uwzględniając jego rozmiar transferu, czas pobierania oraz to, czy jest to asynchroniczny, odroczony, moduł, ładowany dynamicznie czy wstrzymujący pierwsze malowanie, a następnie sumuje liczbę blokowanych bajtów. Celowo nie jest sprzedawany jako pokrycie wykonania — wiedza o tym, które wiersze JavaScript zostały uruchomione, wymaga interfejsu API debugera przeglądarki Chrome, którego DevSuite Pro nie wymaga, więc nic tutaj nie udaje raportu na poziomie wiersza.

Podgląd na żywo
example.com
Zasięg kodu 4182 reguły sprawdzone w 38 ms
Nieużywany CSS Waga J.S
6
Arkusze stylów
4,182
Zasady
71%
Nie używany
186 KB
Zmarnowany CSS
theme.min.css 214 KB 83%
1,842 używany · 2,118 nie używany · 142 KB zmarnowany
vendor-grid.css 61 KB 47%
218 używany · 194 nie używany · 31 KB zmarnowany
app.css 28 KB 12%
pokaż nieużywane selektory
fonts.googleapis.com pochodzenie krzyżowe n/a
Kluczowe funkcje

Prawdziwe dopasowanie selektora

Każda reguła w każdym czytelnym arkuszu stylów jest testowana względem działającego modelu DOM, łącznie z regułami wewnątrz zapytań o media, blokami @supports i @layer — nie są one szacowane na podstawie nazw plików ani rozmiarów.

Odpady mierzone na plik

Każdy arkusz stylów otrzymuje niewykorzystany procent, liczbę reguł wykorzystanych i niewykorzystanych oraz liczbę zmarnowanych bajtów, posortowane tak, aby najgorszy sprawca znajdował się na górze.

Rzeczywista lista selektorów

Rozwiń dowolny plik, aby przeczytać selektory, które do niczego nie pasują, a następnie skopiuj je jako blok CSS do przejrzenia w edytorze lub przekazania koledze z zespołu.

Świadomy stanu, a nie naiwny

Pseudoelementy i pseudoklasy stanu, takie jak :hover i :focus-within, są usuwane przed dopasowaniem, więc interaktywne reguły są oceniane sprawiedliwie, a nie skreślane.

Waga i blokowanie JavaScript

Każdy skrypt wymieniony wraz z jego rozmiarem, czasem pobrania oraz informacją, czy jest asynchroniczny, odroczony, modułowy, ładowany dynamicznie czy blokujący pierwsze malowanie – plus łączna liczba bajtów blokujących.

Szczerze mówiąc o swoich ograniczeniach

Nieczytelne arkusze stylów pochodzących z różnych źródeł są oznaczane, a nie punktowane, a zakładka JS wyraźnie mówi, że mierzy wagę, a nie to, które linie zostaną wykonane. Żadnych wymyślonych liczb.

Typowe zastosowania

Przycinanie rozdętego motywu

Zakupiony motyw zawiera CSS dla dziesiątek układów demonstracyjnych. Sprawdź, ile z nich Twoja witryna nigdy nie wykorzystuje, i opisz plik, opierając się na dowodach, a nie na domysłach.

Audyt kompilacji frameworka

Sprawdź, ile struktury CSS przetrwa na prawdziwym szablonie i czy konfiguracja czyszczenia lub wstrząsania drzewem robi to, co myślisz.

Znalezienie tego, co blokuje pierwszą farbę

Wypisz skrypty wstrzymujące renderowanie wraz z ich rozmiarami i zdecyduj, co odłożyć, podzielić lub usunąć, aby szybciej wyświetlić zawartość na ekranie.

Nadanie priorytetu sprintowi wydajnościowemu

Wprowadź liczby: które pliki marnują najwięcej bajtów, ile JavaScript blokuje i gdzie najbardziej opłaca się pierwsza godzina pracy.

Przeglądanie odziedziczonego kodu

Przejmując witrynę, której nie zbudowałeś, szybko przeczytaj, ile elementów CSS i JavaScript wciąż zasługuje na swoje miejsce.

Jak używać
1

Otwarty zasięg kodu

Kliknij ikonę Pokrycie kodu w doku DevSuite Pro. Skanowanie uruchamia się natychmiast i raportuje, ile reguł sprawdziło i jaka część z nich jest niewykorzystana.

2

Przeczytaj podsumowanie

Górny wiersz zawiera liczbę arkuszy stylów, całkowitą liczbę reguł, niewykorzystany procent i zmarnowane bajty. Poniższe pliki są uporządkowane według ilości marnowanych odpadów.

3

Rozwiń przestępców

Kliknij opcję pokaż nieużywane selektory w dowolnym pliku, aby dokładnie przeczytać, które reguły nie pasują do niczego na tej stronie.

4

Zeskanuj ponownie z otwartą stroną

Otwórz menu, karty, akordeony i moduły, a następnie naciśnij opcję Skanuj ponownie. Reguły, których elementy istnieją tylko w tych stanach, zostaną przeniesione z nieużywanych do używanych — zawsze rób to przed usunięciem.

5

Zabierz listę

Skopiuj nieużywane selektory, co daje blok CSS do przepracowania; Eksportuj JSON kopiuje pełny raport, w tym spis JavaScript, dla zgłoszenia lub dokumentu audytu.

Gotowy do wypróbowania?

Zainstaluj DevSuite Pro za darmo i odblokuj ponad 71 narzędzi programistycznych dla swojej przeglądarki.

Dodaj do Chrome Dodaj do Edge Dodaj do FireFox