Pracowałem z kodem, który wydawał się zmieniać z dnia na dzień i po pewnym czasie doszedłem do wniosku, że było to spowodowane złowrogimi wróżkami pełzającymi w nocy do mojej bazy kodu i zmieniającymi rzeczy w taki sposób, że pomimo tego, że działał wczoraj, teraz w ogóle nie działa. Rzeczywiście, w klasycznym stylu Schroedinbug , nie tylko teraz nie działa, ale jest jasne, że nie ma mowy, aby kiedykolwiek mógł.
Z czasem zdałem sobie sprawę, że to możliwe, że w rzeczywistości wróżki nie mają z tym nic wspólnego i że być może mój „czas powrotu do domu, to będzie wystarczająco dobry” ostatni build, nie otrzymuje szczegółowych testów i uwagi, na które być może zasługuje .
Moim pierwszym założeniem, gdy spotykam się z tym rano, jest to, że prawdopodobnie to moja wina, ponieważ zwykle jestem odpowiedzialny za własne funkcje lub rogi oprogramowania, nad którym pracuję. Moje drugie założenie jest takie, że równie dobrze mogę teraz dostać tę kawę. Jeśli nie jest to rażąco oczywiste, że małpa mogła się zorientować (co czasami bywa), istnieje duża szansa, że udało mi się przeciągnąć do starej wersji biblioteki, pomyłkowo przywrócić plik, który nie musiał być zwinięty z powrotem lub mieć coś w pamięci podręcznej, które wprowadziło go do kompilacji bez sprawdzania. Przeglądając moją ostatnią aktywność w zakresie kontroli źródła, zwykle ujawnia się moje działania, czyszczenie kompilacji często usuwa błędne wersje z pamięci podręcznej.
Czasami tak naprawdę nie ma to ze mną nic wspólnego - ktoś zaktualizował zależność, nie wspominając o tym, WindowsUpdate zainstalował coś, co zmieniło środowisko, tak że mój kod nie działał; istnieje wiele możliwości tła, ale zazwyczaj chodzi o załatwienie sprawy i zaakceptowanie tego, że jak większość ludzi jestem w zasadzie idiotą.