Po przeczytaniu książki The Pragmatic Programmer , jednym z argumentów, które uznałem za najbardziej interesujące, było „pisanie kodu, który pisze kod”. Próbowałem przeszukać Internet, by znaleźć więcej wyjaśnień lub artykułów na ten temat, i chociaż znalazłem kilka dobrych artykułów na ten temat, wciąż nie znalazłem żadnej konkretnej implementacji kodu ani …
Stosuję wiele metaprogramowania, aby uniknąć powtarzalnych zadań i budować bezpieczniejsze w użyciu abstrakcje. Niedawno przeniosłem się do nowej pracy, w której pracuję w większym zespole i martwi to niektórych moich kolegów, ponieważ oni tego nie rozumieją. Zawsze staram się wykorzystać pełny potencjał języka, ale niektórzy (nie wszyscy) moi koledzy postrzegają …
Na przykład mam następujący kod: auto z = [](int x) -> int { if (x > 0) { switch (x) { case 2: return 5; case 3: return 6; default: return 1; } } return 0; }; A potem dzwonię kilka razy. W kodzie asm widzę wywołania zewnętrzne z lambda …
Założę się, że mógłbym sam na to odpowiedzieć, gdybym wiedział więcej o narzędziach do analizy zachowania C # / JIT, ale ponieważ nie, proszę o wyrozumiałość. Mam prosty kod taki jak ten: private SqlMetaData[] meta; [MethodImpl(MethodImplOptions.AggressiveInlining)] private SqlMetaData[] Meta { get { return this.meta; } } Jak widać, umieściłem AggressiveInlining, …
Miałem wrażenie, że monkeypatching jest bardziej w kategorii szybkiego i brudnego hacka, niż w standardowej dobrej praktyce programowania. Chociaż od czasu do czasu używałem do naprawy drobnych problemów z bibliotekami stron trzecich, uważałem to za tymczasowe i przesyłam odpowiednią łatkę do projektu strony trzeciej. Jednak widziałem tę technikę jako „normalną …
Słyszałem, że makra Clojure są łatwiejsze do pisania, ale nie tak niezawodne jak makra higieniczne Racket. Moje pytanie składa się z 2 części: Czym gensymróżnią się od makr higienicznych? Co zapewniają makra Racket, których nie ma Clojure? (czy to bezpieczeństwo, kompozycja, czy cokolwiek innego)
Czy ktoś rozpoczął projekt wykonywania MKOl w czasie kompilacji (być może przy użyciu emitowanego Roslyn lub Linq MethodInfo)? Moje doświadczenie z kontenerami MKOl było jak dotąd świetne, z wyjątkiem kilku drobnych problemów Uruchamianie wielu kontenerów MKOl jest powolne, ponieważ występuje tutaj duża część logiki rozdzielczości Często trudno jest zapewnić rozdzielczość, …
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 6 lat temu . Jak często lub kiedykolwiek widziałeś metaprogramowanie w projektach? Na uniwersytecie nigdy nie widziałem, żeby się …
Zaczęło się od pytania SO, ale zdałem sobie sprawę, że jest to dość niekonwencjonalne i oparte na rzeczywistym opisie na stronach internetowych, może być lepiej dostosowane do programistów.se, ponieważ pytanie ma wiele pojęć koncepcyjnych. Uczyłem się języka LibTooling i jest to bardzo potężne narzędzie, które może w przyjazny sposób ujawnić …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.