O usłudze
PrzetłumaczoneRozwijam programy w Dylan — wieloparadygmatowym potomku Lispa i CLOS, którego model obiektowy studiowałem przez lata w rzeczywistych zadaniach. Jeśli potrzebujesz działającego kodu, dostarczam go: natywne binaria zbudowane za pomocą narzędzi kompilatora Dylan, moduły z starannymi deklaracjami bibliotek i importami, funkcje ogólne z dispatchingiem w oparciu o prawdziwą hierarchię klas. Wielokrotny dispatch to najsilniejsza cecha języka, a ja projektuję wokół niej świadomie, zamiast z nią walczyć. Praca zazwyczaj zaczyna się od rozmowy o twoim obszarze problemowym. Następnie modeluję zadanie jako klasy i funkcje ogólne, umieszczam zamknięte definicje tam, gdzie kompilator powinien agresywnie optymalizować, a otwieram tylko te części, które powinny pozostać rozszerzalne. Piszę higieniczne makra, gdy wzór powtarza się zbyt często, i utrzymuję je czytelne, aby twój zespół mógł je utrzymywać po moim odejściu. Większość mojej praktyki polega na ratowaniu dziedziczonego kodu Dylana: projekty porzucone przez zmarłych autorów, źródła, które przestały się budować na aktualnych wersjach narzędzi, stosy funkcjonalnego kodu, których ludzie boją się dotknąć. Przywracam je do kompilacji, dodaję testy, dokumentuję granice modułów i przekazuję coś, co można rozwijać. Dostawa obejmuje źródła do zbudowania, gotowy natywny plik wykonywalny, notatki na temat struktury biblioteki i krótki nagrany ekran z procesu budowy do reprodukcji. Testuję każdą zmianę, utrzymuję commity małe, wyjaśniam decyzje w prostym języku. Potrzebujesz nowej aplikacji natywnej, powiązania z istniejącą biblioteką C, optymalizacji gorących funkcji ogólnych lub starannego portowania — wezmę to od szkicu do gotowego binarnego.