Pisanie własnych adnotacji
Dołączanie metadanych do deklaracji
Pisanie własnych adnotacji to bezpłatna lekcja Dart Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Dart Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Dart Academy zawiera 4 lekcji w sumie.
Adnotacje są klasami
Niestandardowa adnotacja to po prostu zwykła klasa. Pisząc @MyTag, odwołują się Państwo do instancji tej klasy jako metadanych. 🏷️
Definiowanie klasy
Najpierw należy zadeklarować zwykłą klasę przechowującą metadane. W tym przykładzie prosta adnotacja Todo będzie później zawierać komunikat i właściciela.
class Todo {
final String message;
const Todo(this.message);
}Zasada konstruktora const
Wartości adnotacji muszą być stałymi znanymi w czasie kompilacji, dlatego konstruktor musi być oznaczony jako const. Bez tego nie można używać klasy jako adnotacji.
Stosowanie własnej adnotacji
Należy użyć prefiksu @ wraz z konstrukcją const. Ten znacznik @Todo dokumentuje pracę, którą trzeba jeszcze wykonać w poniższej metodzie.
@Todo('Add validation')
void saveForm() {}Przechowywanie wielu pól
Adnotacja może zawierać dowolną liczbę pól. Jeśli potrzebują Państwo czytelniejszych, samodokumentujących się znaczników, należy użyć nazwanych parametrów konstruktora.
class Todo {
final String task;
final String who;
const Todo(this.task, this.who);
}Wyłącznie stałe argumenty
Każdy przekazywany argument musi sam być stałą. Literały, obiekty const i wartości enum są dozwolone, ale zmienna znana dopiero w czasie działania programu już nie.
Znacznik bez argumentów
Czasami potrzebna jest tylko flaga. Instancja const bez danych działa jako czysty znacznik dołączany do deklaracji.
class Experimental {
const Experimental();
}
const experimental = Experimental();Wygodne stałe pisane małą literą
Udostępnienie instancji const pisanej małą literą pozwala wywołującym zapisać przejrzyste @experimental zamiast za każdym razem używać @Experimental().
@experimental
void betaFeature() {}Same niczego nie robią
Podobnie jak adnotacje wbudowane, Państwa niestandardowa adnotacja sama nie ma żadnego działania. Coś musi ją odczytać, aby stała się użyteczna. Tym zajmiemy się dalej.
Kto odczytuje adnotacje
Znaczenie mają dwa rodzaje odbiorców: generatory kodu działające podczas budowania oraz narzędzia działające w stylu refleksji. Oba sprawdzają znaczniki i reagują na znalezione metadane.
Adnotacje powinny być małe
Dobre adnotacje pozostają niewielkie i deklaratywne. Należy przechowywać w nich zwykłe dane, a nie logikę, aby każde narzędzie mogło odczytywać je w przewidywalny i bezpieczny sposób.
Szybkie sprawdzenie
Co musi mieć klasa, aby można było używać jej jako adnotacji?
Podsumowanie
Niestandardowa adnotacja to klasa z konstruktorem const. Stosuje się ją za pomocą @, przekazuje stałe argumenty, a narzędzia mogą później odczytać metadane. 🎉
Często zadawane pytania
Czy lekcja „Pisanie własnych adnotacji” jest bezpłatna?
Tak — pełny tekst „Pisanie własnych adnotacji” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Dart Academy, przejdź na CoddyKit PRO. Kurs Dart Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Pisanie własnych adnotacji”?
Dołączanie metadanych do deklaracji Ćwiczysz Dart Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Dart Academy?
Nie wymagamy żadnego doświadczenia. Dart Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Pisanie własnych adnotacji”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Dart Academy?
Tak. Każda lekcja Dart Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Wbudowane adnotacje: override, deprecated
- Pisanie własnych adnotacji
- Generowanie kodu za pomocą build_runner
- json_serializable w praktyce