Zawsze się nad tym zastanawiałem. Kiedy to co piszę to już przestaje być hacking tylko po prostu jest to walka 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 jak jestem w projekcie, który zaczyna mi ciążyć. Ale nie ciążyć, bo to praca itp. Ciążyć, bo już tyle dziwnych przypadków było, że aż strasznie się obawiam kolejnego, ale też na niego czekam. Bo on po prostu musi się zdarzyć. Nie ma inne opcji.

Przeważnie to czy coś było złe/dobre, dopiero przychodzi do mnie po projekcie. Jednak są takie które już wiesz w środku, że ooo kolego, wpakowałeś się…. W jednym takim miałem po 3 miesiącach tworzenia oprogramowania zgodnie ze specyfikacją, którą dostałem (od pośrednika) informację, że klientowi w ogóle nie o to chodziło, że całe te wymagania są o ……. potłuc i trzeba teraz to do nowa pisać, przy czym cena za utwór nie ulega 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 zdarzeniu które jest odpowiedzialne za obsługę aktywacji obiektu Inspector w Outlook. Ogólnie zdarzenie powinno być wykonane tylko raz, ale jakiś cudem było wywoływane dwa razy Do pisania rozszerzenia korzystam z produktu firmy trzeciej, który po prostu umożliwia 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ć, jak to naprawią (ale wątpię by to zrobili), mogłem też napisać taki o to kod:

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

Jak 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ę potem może wydarzyć? 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 :) byle by 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.