O usłudze
PrzetłumaczoneJestem programistą w Eiffel, pracującym tam, gdzie poprawność nie jest miłym dodatkiem, ale sercem zadania. Większość kodu obiektowego opiera się na testach i nadziei; polegam na Projektowaniu przez Kontrakt—programowaniu kontraktowym. Każda klasa otwarcie deklaruje swoje zobowiązania: warunki wstępne, które musi spełnić wywołujący, warunki końcowe, które metoda gwarantuje, oraz inwarianty klasowe, które są prawdziwe przez całe życie obiektu. Taki kontrakt jest wykonalną specyfikacją, sprawdzalną w czasie rzeczywistym podczas rozwoju i na zawsze stanowiącą dokumentację. Gdy coś się psuje, sprawdzenie uruchamia się dokładnie na naruszonej granicy, a błąd jest wychwytywany u źródła, zamiast pojawiać się trzy warstwy później jako uszkodzony stan.
Moje inżynieria opiera się na ścisłym statycznym typowaniu, bezpieczeństwie void i dyscyplinie, którą język narzuca sam: staranna dziedziczenie z przekształceniem nazw i selekcją, separacja poleceń i zapytań, jednolity dostęp, aby klienci nie zależeli od implementacji przechowywania. Projektuję klastry klas małych, spójnych i udowodnionych jako kompozytowe, utrzymując je uczciwe za pomocą kontraktów w miarę rozwoju systemu. Pracuję płynnie z EiffelStudio i jego inkrementalnym kompilatorem, stosuję SCOOP do współbieżności bez wyścigów danych i łączę Eiffel z C oraz gotowymi bibliotekami, gdy projekt tego wymaga. Wydajność i niezawodność są dla mnie partnerami: profiluję rzeczywiste obciążenia, a nie zgaduję.
Podejmuję się systemów od podstaw i ratuję kruche dziedzictwo, które musi stać się niezawodne. Mogę stopniowo wprowadzać kontrakty do niedospecyfikowanego kodu, wzmacniać najbardziej ryzykowne moduły i zostawić zestaw kontroli i testów dokumentujących intencje dla następnego inżyniera. Jeśli budujesz coś, co musi być poprawne—logika finansowa, oprogramowanie kontrolne, narzędzia, na których polegają inne zespoły—przynoszę podejście "weryfikuj najpierw", które wychwytuje wady, zanim zrobią to twoi użytkownicy.
— Rozwój aplikacji i bibliotek w Eiffel od podstaw
— Projektowanie przez Kontrakt: warunki wstępne i końcowe, inwarianty klasowe, warianty pętli
— Architektura klas i klastrów bezpieczna dla void, ściśle typowana
— Wzmacnianie dziedzictwa i stopniowe wprowadzanie kontraktów
— Współbieżność za pomocą SCOOP i integracja z C oraz zewnętrznymi bibliotekami
— Konfiguracja EiffelStudio, budowy, profilowanie i zestawy testowe
Moje inżynieria opiera się na ścisłym statycznym typowaniu, bezpieczeństwie void i dyscyplinie, którą język narzuca sam: staranna dziedziczenie z przekształceniem nazw i selekcją, separacja poleceń i zapytań, jednolity dostęp, aby klienci nie zależeli od implementacji przechowywania. Projektuję klastry klas małych, spójnych i udowodnionych jako kompozytowe, utrzymując je uczciwe za pomocą kontraktów w miarę rozwoju systemu. Pracuję płynnie z EiffelStudio i jego inkrementalnym kompilatorem, stosuję SCOOP do współbieżności bez wyścigów danych i łączę Eiffel z C oraz gotowymi bibliotekami, gdy projekt tego wymaga. Wydajność i niezawodność są dla mnie partnerami: profiluję rzeczywiste obciążenia, a nie zgaduję.
Podejmuję się systemów od podstaw i ratuję kruche dziedzictwo, które musi stać się niezawodne. Mogę stopniowo wprowadzać kontrakty do niedospecyfikowanego kodu, wzmacniać najbardziej ryzykowne moduły i zostawić zestaw kontroli i testów dokumentujących intencje dla następnego inżyniera. Jeśli budujesz coś, co musi być poprawne—logika finansowa, oprogramowanie kontrolne, narzędzia, na których polegają inne zespoły—przynoszę podejście "weryfikuj najpierw", które wychwytuje wady, zanim zrobią to twoi użytkownicy.
— Rozwój aplikacji i bibliotek w Eiffel od podstaw
— Projektowanie przez Kontrakt: warunki wstępne i końcowe, inwarianty klasowe, warianty pętli
— Architektura klas i klastrów bezpieczna dla void, ściśle typowana
— Wzmacnianie dziedzictwa i stopniowe wprowadzanie kontraktów
— Współbieżność za pomocą SCOOP i integracja z C oraz zewnętrznymi bibliotekami
— Konfiguracja EiffelStudio, budowy, profilowanie i zestawy testowe