Diversity w polskim IT
Jakub Gutkowski
Jakub GutkowskiPrincipal Software Engineer / blog.gutek.pl

Kiedy wiesz, że wpakowałeś się w bagno w projekcie IT

Zobacz, jak nie wpaść w bagno na projekcie IT, który na pierwszy rzut oka nie wygląda tak strasznie.
4.07.20202 min
Kiedy wiesz, że wpakowałeś się w bagno w projekcie IT

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.

<p>Loading...</p>