Leksykon IT › Programowanie › Metaprogramowanie

Metaprogramowanie

Programowanie Svenska → Zaktualizowano: 2026-10-06

Kod, który generuje, przekształca lub modyfikuje inny kod — w czasie kompilacji (statycznie) albo w czasie działania (dynamicznie).

Spektrum: makra C (podstawianie tekstu) → makra Rusta i Scali (transformacja AST) → makra Lispa (kod jest danymi, najpotężniejsza forma) → szablony C++ → dekoratory Pythona i __getattr__ → JS Proxy. Adnotacje Javy wraz z refleksją tworzą osobną kategorię.

Przydaje się do eliminowania boilerplate'u (Serde, Pydantic, dataclasses), w ORM-ach, mockowaniu i frameworkach. Cena: trudniejsze debugowanie, gorsze wsparcie IDE i stosy wywołań, łatwość nadużycia. Klasyczna zasada: napisz kod trzy razy, zanim napiszesz makro.

← Wróć do leksykonu