Viete, zákon najmenšieho úžasu? Nie som si istý, o jeho pôvode, ale najprv som sa dozvedel z mimoriadnej “Tao programovania.” Jednoducho povedané, to je zásada, že softvér musí byť vždy reagovať na užívateľovi takým spôsobom, že najmenej udiví ne. Inými slovami, tlač papier by nemal ho vymazať zo súborového systému.

V nadväznosti na zákon najmenšieho úžase, čo treba program robiť, keď narazí na tvrdú chybu? Dalo by sa povedať, že to musí nechať užívateľa poznať. Bohužiaľ, veľa systémov len kefou pod koberec v týchto dňoch.

Myslím, že to začalo s operačným systémom Windows. Alebo možno Mac. Myslenie ide, že koncoví užívatelia sú príliš hlúpe, alebo príliš vydesený chybových kódov alebo in-hĺbkové správy, takže sme len odchádza von. Názorným príkladom: iphone mojej ženy nebudú zverejňovať obrázky. Nie som žiadny expert za to, že nosím zariadenie Android, ale súhlasil som, aby sa na to pozrieť. Bez ohľadu na to, čo som sa snažil, mám rovnaký ničomu správa: “Nemožno zverejniť fotografiám ideálne teraz. Skúste neskôr prosím.” Nie len to nie je príliš informatívny, ale to tiež znamená, že problém je v niečom, čo by mohol opraviť sám neskôr ako sieť.

Skutočným vinníkom? Tieto iCloud podmienky služby zmenil a ona neprijal novú zmluvu. Mám pocit, že to mohlo byť vyklopený do pracovnej polohy ju žiadajú k tomu, že v určitom okamihu, ale z nejakého dôvodu si to ujsť. kým sa zaryli do nastavenia a zaškrtli políčko súhlasiť s týmito podmienkami, “neskôr” sa nikdy nestane.

Ale to nie je len iPhone. Windows je plná takých vecí a len dúfať, že bude log v prípade, že zákazník s oveľa viac detailov. Tiež vidím oveľa viac o tom dnes na Linuxe, hoci tam je zvyčajne súbor denníka niekde, ak viete, ako ju nájsť. Aj keď som si to, že programy, ktoré majú chyby riskovať udivujúce užívateľa, je to ešte oveľa prekvapujúcejší, pokiaľ nie je vysvetlenie toho, čo sa deje. Predstavte si, že vám vaša banka poslala poznámka: to je problém s vaším účtom. Takže budete reagovať: “Urobil som prekreslenie?” Oni odpovie: “Nie.” teraz čo? To je stav mnohých chýb Software dnes.

Je to naozaj žiadne ospravedlnenie na stolné počítače alebo webové stránky. Avšak, možno budete chcieť odpustiť drobné embedded systémy. Nie! Nedávno som portovaný firmvér tlačiarne 3D Marlin na ANET A8 dosky – 8-bitový procesor s malou pamäťou – ktorý bol na Repetier firmware pre mnoho rokov. Prvýkrát som sa snažil robiť Autolevel sondu som dostal správu: sondovania zlyhalo. To je všetko.

Aj tí priznať, že môžete zapnúť Autolevel ladenie získať oveľa viac informácií, ale už som na 98% využitie blesku, takže bude vyžadovať dočasné odstránenie veľa funkcií a prestavby kód. ale prečo nie robiť, ako by sme to urobili za starých čias:

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;
return;
}
To nezaberie veľa miesta. Teraz môžete nahlásiť niečo podobné sondovania zlyhalo (8) a môžem aspoň ísť do kódu a zistiť, čo 8. krok bol, že sa nepodarilo. Som si istý, niekto by dokonca zverejniť zoznam kódov a to, čo je uvedené v prípade takého.

Moc nad hlavou? povedz mi čítač inštrukcií, kde sa stalo k chybe. Ktorý býval celkom bežnou praxou. Je pravda, že to vyžaduje, aby ste mali mapy súbor pamäte a vedia, ako ju čítať, ale je to stále lepšie ako nič.

Trávime veľa času premýšľať o tom, projekty a softvér musí pracovať. ale musíme tráviť čas premýšľať aj o tom, čo sa stane, keď nefungujú. To je v poriadku, že môžeme robiť ladenie v obvode alebo pripojiť logický analyzátor, ale to nepomôže našim užívateľom. aj keď je to len na vás, prečo nie, aby to trochu jednoduchšie na seba?

Ako sme už povedali skôr, “Neexistuje nič také ako príliš veľa informácií.” Okrem ochrany pred systémové chyby, môžete tiež pomôcť používateľom, aby prekvapiť sami seba.

Kredit: [Elisa Ventur] pomocou Unsplash.com