Kódy chyb a zákon nejmenší údiv


Víte, zákon nejmenšího úžasu? Nejsem si jistý, o jeho původu, ale nejdřív jsem se dozvěděl z mimořádné „Tao programování.“ Jednoduše řečeno, to je zásada, že software musí být vždy reagovat na uživateli takovým způsobem, že nejméně udiví ně. Jinými slovy, tisk papír by neměl ho vymazat ze souborového systému.

V návaznosti na zákon nejmenšího úžasu, co je třeba program dělat, když narazí na tvrdou chybu? Dalo by se říci, že to musí nechat uživatele znát. Bohužel, spousta systémů jen kartáčem pod koberec v těchto dnech.

Myslím, že to začalo s operačním systémem Windows. Nebo možná Mac. Myšlení jde, že koncoví uživatelé jsou příliš hloupé, nebo příliš vyděšený chybových kódů nebo in-hloubkové zprávy, takže jsme jen odchází ven. Názorným příkladem: iphone mé ženy nebudou zveřejňovat obrázky. Nejsem žádný expert za to, že nosím zařízení Android, ale souhlasil jsem, aby se na to podívat. Bez ohledu na to, co jsem se snažil, mám stejný ničemu zpráva: „Nelze zveřejnit fotografiím ideální teď. Prosím zkuste to znovu později.” Ne jen to není příliš informativní, ale to také znamená, že problém je v něčem, co by mohl opravit sám později jako síť.

Skutečným viníkem? Tyto iCloud podmínky služby změnil a ona nepřijal novou smlouvu. Mám pocit, že to mohlo být vyklopen do pracovní polohy ji žádají k tomu, že v určitém okamžiku, ale z nějakého důvodu si to ujít. dokud se zaryly do nastavení a zaškrtli políčko souhlasit s těmito podmínkami, „později“ se nikdy nestane.

Ale to není jen iPhone. Windows je plná takových věcí a jen doufat, že bude log v případě, že zákazník s mnohem více detailů. Také vidím mnohem víc o tom dnes na Linuxu, ačkoli tam je obvykle soubor protokolu někde, pokud víte, jak ji najít. I když jsem si to, že programy, které mají chyby riskovat udivující uživatele, je to ještě mnohem víc udivující, pokud není vysvětlení toho, co se děje. Představte si, že vám vaše banka poslala poznámka: to je problém s vaším účtem. Takže budete reagovat: „Udělal jsem překreslení?“ Oni odpoví: „Ne.“ co teď? To je stav mnoha chyb Software dnes.

Je to opravdu žádná omluva na stolní počítače nebo webové stránky. Nicméně, možná budete chtít odpustit drobné embedded systémy. Ne! Nedávno jsem portován firmware tiskárny 3D Marlin na ANET A8 desky – 8-bitový procesor s malou pamětí – který byl na Repetier firmware pro mnoho let. Poprvé jsem se snažil dělat Autolevel sondu jsem dostal zprávu: sondování se nezdařilo. A je to.

I ti přiznat, že můžete zapnout Autolevel ladění získat mnohem více informací, ale už jsem na 98% využití blesku, takže bude vyžadovat dočasné odstranění spoustu funkcí a přestavby kód. ale proč ne dělat, jako bychom to udělali za starých časů:

jednotka global_error = 0;
void do_something (void) {
global_error = 1;
if (procesu 1) == poruchou () návrat;
global_error ++;
if (process2) == poruchou () návrat;
. . .

global_error = 0;
vrátit se;
}
To nezabere mnoho místa. Nyní můžete nahlásit něco podobného sondování selhalo (8) a mohu alespoň jít do kódu a zjistit, co 8. krok byl, že se nezdařilo. Jsem si jistý, někdo by dokonce zveřejnit seznam kódů a to, co je uvedeno v případě takového.

Moc nad hlavou? řekni mi čítač instrukcí, kde se stalo k chybě. Který býval docela běžnou praxí. Je pravda, že to vyžaduje, abyste měli mapy soubor paměti a vědí, jak ji číst, ale je to pořád lepší než nic.

Trávíme spoustu času přemýšlet o tom, projekty a software musí pracovat. ale musíme trávit čas přemýšlet také o tom, co se stane, když nefungují. To je v pořádku, že můžeme dělat ladění v obvodu nebo připojit logický analyzátor, ale to nepomůže našim uživatelům. i když je to jen na vás, proč ne, aby to trochu jednodušší na sebe?

Jak jsme již řekli dříve, „Neexistuje nic takového jako příliš mnoho informací.“ Kromě ochrany před systémové chyby, můžete také pomoci uživatelům, aby překvapit sami sebe.

Kredit: [Elisa Ventur] pomocí Unsplash.com

Leave a Reply

Your email address will not be published. Required fields are marked *