Czy znasz prawo najmniejszego zdziwienia? Nie jestem pewien na jego pochodzenie, ale dowiedział się go z wyjątkową „Tao Programowania.” Mówiąc najprościej, jest zasada, że oprogramowanie musi zawsze reagować na użytkowników w sposób najmniej zadziwia im. Innymi słowy, drukowania papier nie powinien usunąć go z systemu plików.
W związku z prawem najmniejszego zdziwienia, co musi zrobić, gdy program natrafi twardy błąd? Można powiedzieć, że musi pozwolić know użytkownika. Niestety, wiele systemów prostu myć go pod dywan te dni.
Myślę, że zaczęło się od Windows. A może Mac. Myślenie idzie, że użytkownicy końcowi są zbyt głupi lub zbyt przerażony kodów błędów lub pogłębionych wiadomości, więc po prostu pozostawiając je. Sprawa w punkcie: iphone Moja żona nie będzie publikować zdjęcia. Nie jestem ekspertem, uznając, że noszę urządzenia z Androidem, ale zgodził się na to patrzeć. Bez względu na to, co próbowałem, mam ten sam bezużyteczny komunikat: „Nie można publikować zdjęcia ideał teraz. Spróbuj ponownie później.” Nie tylko jest to nie bardzo pouczające, ale również sugeruje, że problem jest w tym, co może się później naprawić jak sieci.
Prawdziwym winowajcą? Te usługi iCloud warunki się zmieniły i nie przyjął nowej umowy. Mam wrażenie, może to pojawiło się prosząc ją, aby to zrobić w pewnym momencie, ale z jakiegoś powodu, że brakowało go. dopóki nie wbiły się w ustawieniach i zaznaczone jest pole do wyrażenia zgody na te warunki, „później” nigdy nie zdarzy.
Ale to nie tylko iPhone. Windows jest pełen takich rzeczy, a ty tylko nadzieję, że będzie w dzienniku zdarzeń z klientem dużo więcej szczegółów. Widzę też dużo więcej o tym już na Linuksie, chociaż nie jest zwykle gdzieś plik dziennika, jeśli wiesz, jak go znaleźć. Chociaż rozumiem, że programy mające błędy ryzykujemy zadziwiające użytkownika, to jest nawet dużo bardziej zdumiewające, jeśli nie ma wyjaśnienie, co się stało. wyobraźcie sobie, że Twój bank wysłał Ci uwaga: nie ma problemu z kontem. Więc odpowiedzieć: „Czy ja Overdraw?” odpowiadać oni: „Nie” co teraz? To stan dużą ilością błędów oprogramowania dzisiaj.
Tam naprawdę nie ma usprawiedliwienia na systemach desktopowych i witryn. Jednak warto wybaczyć małe systemy wbudowane. nie! Niedawno przeniesiony firmware drukarki 3D Marlin do tablicy ANET A8 – procesor 8-bitowy z małą pamięcią – która była na firmware Repetier na wiele lat. Po raz pierwszy próbowałem zrobić sondę Autolevel Dostałem wiadomość: sondowania nie powiodło się. Otóż to.
Będę Ci przyznać, że można włączyć Autolevel diagnostycznych, aby uzyskać dużo więcej informacji, ale jestem już przy 98% wykorzystaniu lampy błyskowej, dzięki czemu wymagałaby tymczasowo usuwając kilka cech i przebudowa kodu. ale dlaczego nie zrobić jak zrobilibyśmy w dawnych czasach:
Urządzenie global_error = 0;
nieważne do_something (void) {
global_error = 1;
if (process1 () == FAIL) powrotu;
global_error ++;
if (process2 () == FAIL) powrotu;
. . .
global_error = 0;
powrót;
}
To nie zajmują dużo miejsca. teraz można zgłosić coś takiego sondowania nie powiodło się (8) i przynajmniej mogę iść do kodu i dowiedzieć się, co 8. etap, że nie powiodła się. Jestem pewien, że ktoś nawet opublikować listę kodów i co one wskazane w przypadku takiego.
Zbyt dużo napowietrznych? powiedz mi licznik programu, gdzie wydarzyło się błąd. Że kiedyś dość powszechną praktyką. To prawda, że wymaga, aby mieć mapa pamięci plik i wiedzieć, jak je czytać, ale wciąż jest lepsze niż nic.
Spędzamy dużo czasu na myślenie o jak projekty i oprogramowanie musi działać. ale trzeba poświęcić czasu na myślenie, też o tym, co się dzieje, gdy nie działają. To jest w porządku, że możemy zrobić w obwodzie debugowania lub podłączyć analizator logiczny, ale to nie pomoże naszym użytkownikom. nawet jeśli jest to tylko dla ciebie, dlaczego nie zrobić to trochę dużo łatwiej na siebie?
Jak już wcześniej powiedziałem, „Nie ma czegoś takiego, jak zbyt dużo informacji.” Oprócz zabezpieczenia przed błędami systemowymi, można również pomóc użytkownikom nie zdumiewać się.
Obraz kredytu: [Elisa Ventur] za pomocą Unsplash.com