Nasza strona używa cookies. Dowiedz się więcej o celu ich używania i zmianie ustawień w przeglądarce. Korzystając ze strony, wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki. Rozumiem

Kiedy wiesz, że wpakowałeś się w straszne bagno?

Jakub Gutkowski Principal Software Engineer / blog.gutek.pl
Zobacz, jak nie wpaść w bagno na projekcie IT, który na pierwszy rzut oka nie wygląda tak strasznie.
Kiedy wiesz, że wpakowałeś się w straszne bagno?

Zawsze się nad tym zastanawiałem - kiedy to, co piszę, przestaje być hackowaniem, a staje się po prostu walką o to, by nie stracić wszystkich ciuchów, próbując wydostać się z bagna? Łatwo jest przeginać w swoich odczuciach – przeważnie wydaje nam się, że jest gorzej niż w rzeczywistości. Tylko, czy aby na pewno? Nie wiem, szczerze nie wiem. Myślę o tym za każdym razem, kiedy jestem w projekcie, który zaczyna mi ciążyć. Ale nie ciążyć, bo to praca. Ciążyć, bo już tyle było dziwnych przypadków, że aż strasznie obawiam się kolejnego - ale też na niego czekam. Bo on po prostu musi się zdarzyć. Nie ma innej opcji.

Przeważnie to, czy coś było złe, czy dobre, przychodzi do mnie dopiero po projekcie. Jednak są takie projekty, kiedy w środku wiesz: ooo kolego, wpakowałeś się... W jednym z takich projektów po trzech miesiącach tworzenia oprogramowania - zgodnie z informacją o specyfikacji, którą dostałem od pośrednika - klientowi w ogóle nie o to chodziło, całe te wymagania były o ... potłuc i trzeba było to pisać od nowa, przy czym cena za utwór nie ulegała zmianie. Wtedy rąbnąłem pięścią w stół, jak mała dziewczynka tupnąłem nogą i powiedziałem: basta.

Ostatnio zaś w jednym z projektów napisałem linijkę przy jednym zdarzeniuktóre jest odpowiedzialne za obsługę aktywacji obiektu Inspector w Outlooku. Ogólnie zdarzenie powinno być wykonane tylko raz, ale jakiś cudem było wywoływane dwa razy. Przy pisaniu rozszerzenia korzystam z produktu firmy trzeciej - umożliwia on po prostu trochę przyjemniejsze pisanie rozszerzeń, jednocześnie dla wielu wersji Office. Okazało się, że twórcy biblioteki wywołują zdarzenie ręcznie, na wszelki wypadek przy tworzeniu instancji obiektu ,a zaraz potem jest wykonywany oficjalny event. Mogłem czekać, aż to naprawią (ale wątpię, by to zrobili), mogłem też napisać taki oto kod:

if (Environment.StackTrace.Contains("DoNewInspector"))
{
    _log.Trace("OnOutlookInspectorActive|…speechless…");
    return;
}


Jak tylko napisałem tę linijkę z miejsca poczułem, że tracę grunt pod nogami. Pierwszy raz w życiu poczułem się źle, bo skoro już teraz musiałem zrobić coś takiego, to co się może wydarzyć potem? Jak ja to będę debuggował? Skąd wiem, że to, co teraz zgłasza użytkownik, to moja wina czy nie?

Bagno? Chyba tak. Byleby dało się z niego wyjść :)

PS: Nikomu nie życzę wpadnięcia w bagno, ale jak to się stanie, to… keep calm, inaczej będzie tylko gorzej.

Zobacz więcej na Bulldogjob

Masz coś do powiedzenia?

Podziel się tym z 80 tysiącami naszych czytelników

Dowiedz się więcej
Rocket dog