Pracuję nad projektem korporacyjnym, który zostanie wdrożony w wielu małych i średnich przedsiębiorstwach i przedsiębiorstwach.
Wsparcie dla tego projektu byłoby trudne, dlatego chcę stworzyć wzorzec kodowania dla błędów ( jak kody stanu HTTP ). Umożliwi to pracownikom działu pomocy technicznej odnoszenie się do dokumentów i rozwiązywanie problemów tak szybko, jak to możliwe.
Jakie są najlepsze praktyki i zalecenia, aby to zrobić?
Każda pomoc w tym zakresie będzie przydatna.
Odpowiedzi:
Istnieje różnica między kodami błędów a zwracanymi wartościami błędów. Kod błędu jest przeznaczony dla użytkownika i działu pomocy technicznej. Zwracana wartość błędu to technika kodowania wskazująca, że kod napotkał błąd.
Można zaimplementować kody błędów za pomocą zwracanych wartości błędów, ale odradzałbym to. Wyjątki stanowią nowoczesny sposób zgłaszania błędów i nie ma powodu, dla którego nie powinny zawierać w sobie kodu błędu.
Tak to zorganizowałbym (zauważ, że punkty 2-6 są niezależne od języka):
ErrorCode
właściwością. Połów w głównej pętli zgłasza to pole w zwykły sposób (plik dziennika / wyskakujące okienko / odpowiedź na błąd). Użyj tego samego typu wyjątku w całym kodzie.if (...) throw new FooException(1234, ".."); else throw new FooException(1235, "..");
linia w kodzie może zaoszczędzić pół godziny na pomocy technicznej.I nigdy nie zapominaj, że celem kodów błędów jest ułatwienie życia działowi pomocy technicznej .
źródło
Doc1234
, jaki może mieć aplikacja głównaIrS1234
. Więc moi współpracownicy z działu pomocy technicznej bardzo szybko pomagają moim użytkownikom.Najpierw musisz wyodrębnić obszary, w których mogą wystąpić błędy, i są widoczne dla użytkownika. Następnie możesz je udokumentować. To takie proste.
Cóż, proste w teorii ... w praktyce błędy mogą wystąpić w całym tym cholernym miejscu, a ich zgłoszenie może zmienić ładny kod w potwora rejestrowania, zgłaszania wyjątków i obsługi oraz przekazywania wartości zwracanych.
W takim razie zaleciłbym podejście dwuetapowe. Pierwszym z nich jest rejestrowanie, rejestrowanie partii i partii.
Po drugie, należy określić główne komponenty i ich interfejsy oraz zdefiniować, w jakich głównych przypadkach błędów mogą się znaleźć te komponenty. Następnie można zalogować się w bardziej widoczny sposób, gdy jeden z tych błędów (sposób obsługi błędu przez użytkownika zależy od Ciebie - wyjątki lub kody błędów nie mają tutaj znaczenia). Użytkownik zazwyczaj zobaczy błąd i przejdzie do dzienników, aby uzyskać bardziej szczegółowe informacje.
To samo podejście stosuje się w przypadku serwerów internetowych i przykładowego kodu błędu http. Jeśli użytkownik zobaczy 404 i zgłosi wsparcie, przeszukuje dzienniki w celu uzyskania szczegółowych informacji o tym, co się dzieje, która strona została odwiedzona, kiedy, i zbierze wszelkie inne informacje, które może z dowolnego miejsca ma sens , znajdować się w bazie danych, sieci lub aplikacji.
źródło
Wybrałbym niestandardowe wyjątki z opisowymi nazwami i jasnymi wiadomościami i je rzucałem. O wiele łatwiej jest korzystać z istniejącej infrastruktury wyjątków języka niż wbudować obsługę przekazywania kodów błędów i ich interpretacji.
źródło