
Are we solving the real problem?
Kde je chyba? Jsme si jistí, že jsme našli skutečného původce problémů?
😡 Debugging na způsob “Have you tried turning it off and on again?” z IT Crowdu, či německé administrátorské „Reboot tut gut”, nebo ještě hůř “trial error debugging” je nekoncepční a způsob práce, kterému by se profesionálové měli vyvarovat.
💡 Při hledání chyby prakticky v jakémkoliv lidském činění, ne jen v IT, je nejhorší, když hned jednáte na základě nepotvrzené domněnky. V trestním právu jsme naštěstí tento způsob hledání viníka už převážně opustili, vyžadujeme spolehlivé důkazy.
❓ Proč podobně systematicky nepostupujeme jinde má jednoduché vysvětlení: lennost, nedostatečné porozumění, špatné vzory a protože to občas náhodou vede k cíli.
🫣 A ano, jsou místa, která podezříváme a ne každý systém je takzvaně s vynaložením rozumného úsilí debugovatelný. Různé chytré televize, infotainmenty, složité aplikace.
- 👉 Část těchto systémů se může dostat shodou náhod do stavu, že neplní svou funkci. A restart skutečně může pomoct. V ten moment ale typicky ztratíte značnou část informací, které by mohly sloužit jako indicie pro nalezení chyby.
- 👉 Pokud se nemůžete podívat do systému samotného, možná napoví něco jeho nastavení. Některé systémy mají skryté pokročilé menu pro techniky, kde se zobrazuje více užitečných údajů. Řada systémů komunikuje různě po síti, z čehož se dá také leccos vyčíst např. pomocí programu Wireshark.
- 👉 Robustní systémy mají typicky celou paletu nástrojů, kterými je možné je analyzovat.
❗ Pro správné hledání chyby je nutné vést si záznamy, co jsme kdy viděli, co jsme kdy dělali, jaký to mělo efekt. Na počítači si rád dělám screenshoty a poznámky bokem, jinde dělám hodně fotek/ točím videa + poznámky, či komentář videa.
💡 Nezapomeňte při vyhrocenějším hledání na lidskost. Každý můžeme udělat chybu, neobviňujte a nepodkopávejte si konstruktivní přístup k řešení situace i když je to někdy výzva.
Každý obor má celou řadu knížek a jiných materiálů, které se systematickým hledáním chyby můžou pomoct.
Jak hledáte chyby vy? Máte nějaké užitečné materiály, které vám s hledáním pomohly?