Nima uchun foydalanuvchilaringizni xatolar haqida xabar berishiga ishonish, bu siz bajaradigan eng ahmoqona ishdir

Agar sizning baxtsiz foydalanuvchilaringiz bo'lsa, buni qaerdan bilasiz?

Biz hammamiz kodlashni yaxshi ko'ramiz.

Kodlash haqida o'ylayotganimizda, biz odatda o'zimizni qurayotganimizni tasvirlaymiz.

Qurilish xususiyatlari, yangi yangiliklar, yangi funksiyalar va foydalanuvchilarga yoqadigan qiziqarli yangilanishlar. Keyinchalik qurilishi mumkin bo'lgan narsalar bizni hayajonlantiradigan ruhiy rasm.

Ammo bizning boshimizdagi romantik obrazlar ko'pincha haqiqatga aylantirilmaydi.

Dasturiy ta'minotni ishlab chiquvchilar ko'p vaqtlarini qurilishdan tashqari vazifalarga sarflashadi. Ular yig'ilishlarga qatnaydilar, spetsifikatsiyalarni muhokama qiladilar, mavjud kodni rejalashtiradilar va tozalaydilar. Va, albatta, ularning sevimli faoliyati bu xatolarni tuzatish.

Men hali ham ularning kodlar bazasida muammolarni topishni yaxshi ko'radigan ishlab chiquvchi bilan uchrashdim. Ammo bu umidsizlik xatolarni topish va takrorlash ko'p vaqt talab qilishi bilan bog'liqdir.

Tarixan, dasturiy ta'minotni ishlab chiquvchilar pichan o'tidan ignani qidirishga majbur bo'lishdi. Microsoft Word hujjatidagi foydalanuvchilarning skrinshotlariga ishonishdan ko'ra, javoblarni ular o'zlari topishlari kerak edi.

Biz hammamiz u erda bo'lganmiz!

Siz qaysi brauzer va versiyadan foydalanmoqdasiz? Qanday operatsion tizim? Qaerga chertganingizni aniq ayta olasizmi? Keyin nima bo'ldi? Oldin qaysi sahifada edingiz? Qanday qilib siz ushbu ekranga qanday o'tdingiz?

Savollar juda ko'p, shuning uchun kam (foydali) javoblar.

Muammoni hal qilish abadiy davom etishi mumkin!

Muammolar haqida foydalanuvchilarga ishonish

Dasturiy ta'minotni ishlab chiqish bo'yicha ko'plab guruhlar hali ham foydalanuvchilarga o'zlarining ilovalari bilan bog'liq muammolar haqida xabar berish uchun ishonishadi.

Hozirgi kunda qaysi kinda aqldan ozgan.

Xuddi fast food restoranlari tarmog'iga o'xshaydi. Ular idishlarni va axlatni tashlash stantsiyalarini taqdim qilish orqali o'z stollarini tozalash uchun mijozlarni majburlaydilar. Restoranda ovqat juda yomon bo'lgan bo'lishi mumkin. Lekin mijoz xotirjamgina stollarini tozalab, axlatlarni tashlab, ketib qolishi mumkin edi. Agar ular shikoyat qilish uchun vaqt ajratmasalar, xodimlar yana bir baxtli mijoz restoranni tark etishgan deb taxmin qilishadi.

Ammo ular hech qachon qaytishmaydi.

Ba'zi ishlab chiquvchilar foydalanuvchilar o'zlarining ilovalarini ishlatishda o'zlari uchun pul to'lashlarini kutishadi. Axir, hech kim muammolar haqida xabar bermasa, bizda yo'q, to'g'rimi? O'zingizning boshingizdan kechirayotgan muammolar haqida xabar berish uchun foydalanuvchilarga qiyinchilik tug'diradi. Sizning barcha foydalanuvchi bazangizga ta'sir ko'rsatadigan barcha holatlarning qariyb bir foizini ko'rasiz va texnik tafsilotlar nozik va nomuvofiq bo'ladi.

Ishlab chiquvchilar muammoni tuzatishga emas, balki kichik bitlardan foydalangan holda muammoni tuzatishga ko'proq vaqt sarflashadi. Agar ular muammoni umuman topa olishsa.

Sizning dasturingiz siz o'ylagandek yaxshi emas

Men katta onlayn sotuvchida ishlaydigan do'stim bilan gaplashdim. U menga onlayn buyurtma tizimida qanday qilib hech kim bilmagan katta muammoni topishlarini tushuntirdi.

Bir necha kun davom etgan tekshiruvdan so'ng ular muammoni hal qila olishmadi. O'sha paytda ular o'zlarining dasturidagi xatolarni aniqlash va tashxislash uchun maxsus vositani sinab ko'rishga qaror qilishdi.

Ular topgan narsa qo'rqinchli edi.

Ushbu vosita sakkizta serverdan bittasi xotirasi ishlamay qolganligini va xatolarni tashlayotganligini aniqladi. Bu foydalanuvchining hisob-kitob oqimi to'liq to'xtashiga olib keldi.

Har sakkizta foydalanuvchini tekshirish sessiyalaridan biri buzilgan.

Ushbu muammoni topib, hal qilish natijasida darhol oyiga 20000 AQSh dollar miqdoridagi savdo ko'tarildi! Xarid qilish jarayonida odamlar endi muammolarga duch kelmadilar.

Ular bu 5000 dan ortiq foydalanuvchilarga ta'sir qilgan deb taxmin qilishdi - ammo ular bu borada faqat ikkita qo'llab-quvvatlash chiptasini olishdi.

Jamoa bu masalani topib olganidan xursand bo'lsa ham, umidsizlikka uchradi. Noma'lum xato, ehtimol 100000 AQSh dollarini o'tkazib yuborilgan daromadga olib keldi.

Xatolar paydo bo'lganda o'zingizga elektron pochta orqali xabar yuborish bema'ni fikrdir

Siz kodni yig'ish jurnallarida yuzaga keladigan muammolarning jonli oqimini tomosha qilib o'tirishingiz mumkin. Siz uxlayotganingizda buni qilish uchun iliq tanani yollashingiz mumkin. Yoki, siz kutilmagan istisno yuzaga kelganda, elektron pochta xabarlarini yuborishingiz mumkin - bu juda yaxshi g'oya kabi!

Siz buni qilmaguningizcha.

Agar siz buni o'rnatgan bo'lsangiz, u quyidagicha ko'rinishi mumkin:

jamoat bo'shlig'i TryProcessLineNumber (int lineNumber)
{
    harakat qilib ko'ring
    {
        ProcessLineNumber (satr raqami);
    }
    qo'lga olish (istisno istisno)
    {
        LetMyselfKnowViaEmail ("Xatolik yuz berdi:" + ex.Message);
    }
}

Ammo u yaratishi mumkin bo'lgan muammolardan ehtiyot bo'ling.

Elektron pochta xatolari kichikroq loyihalar va shaxsiy loyihalar uchun mos bo'lishi mumkin. Ammo siz tashqarida kengaytirsangiz, narsalar notinch bo'lib qoladi. Juda tartibsiz:

  • Tashxis tafsilotlari cheklangan
  • Bildirishnomani o'rnatish juda qiyin va narsalar shovqin qila boshlaydi
  • Cheksiz tsiklda saqlanadigan istisno bir kechada sizning pochta qutingizga 50 000 ta elektron pochta xabarini yuborishi mumkin
  • Xatolar ustuvorlik darajasi yoki ta'sir ko'rinishi yo'q va barchasi bir xil bo'lib ko'rinadi
  • Yuzdan oshiq elektron pochta xabarlarini olganingizdan so'ng, siz ularni o'qishdan voz kechasiz

O'zingizning xatolaringizni elektron pochta orqali yuborishni boshlaganingizdan ko'p vaqt o'tmay, siz ularni e'tiborsiz qoldira boshlaysiz. Yoki siz ularni jildga filtrlaysiz, chunki shovqin juda ko'p va signal yo'q.

Siz to'g'ri xato misolini qidirayotgan minglab elektron pochta xabarlarini sinchkovlik bilan ko'rib chiqishingiz kerak.

Bizga aqlli narsa kerak.

ELMAH - sizning istisnolaringizni ro'yxatga olish

ELMAH (Error Log Modules and Handlers) - bu to'liq ulanadigan dasturiy xatolarni ro'yxatga olish vositasi. Uni ishlaydigan ASP.NET veb-ilovasiga yoki hatto kompyuterdagi barcha ASP.NET veb-ilovalariga qayta to'ldirish yoki qayta joylashtirishga ehtiyoj qolmasdan dinamik ravishda qo'shish mumkin.

ELMAH har bir dasturlash tili va platformasini qo'llab-quvvatlamaydi. Muammoning asosiy sababini aniqlashda uning funktsionalligi etarli darajada cheklanganligi sababli, odatda kichik loyihalar uchun foydalaniladi. Hozirgi kunda bu faol rivojlanayotgan narsa emas, lekin hech bo'lmaganda bu biron narsa va u bepul.

Elmah xatolarni ro'yxatga olish

ELMAH, asosan .NET veb-ilovalari uchun NuGet to'plamidir. U bitta yoki bir nechta veb-saytlarda yuzaga keladigan har qanday istisnoni siz tanlagan omborga qayd qiladi. Boshqa jurnal tizimlaridan farqli o'laroq, ELMAH eng oddiy shaklda sozlanganda har bir istisnoga avtomatik ravishda kiradi. Xohlagan xatolarni qayd etish uchun siz foydalanishingiz mumkin bo'lgan API mavjud. Ammo ko'pchilik faqat avtomatik qismdan foydalanadi. Ushbu o'quv qo'llanmada biz faqat asosiy qismlarga e'tibor qaratamiz.

Qanday qilib boshlashni boshlash bo'yicha ajoyib qo'llanma.

Belgilangan xato va ishdan chiqish haqida xabar berish vositalari

Agar siz ilovalaringizdagi xatolar va nosozliklar bilan ishlashga jiddiy yondashsangiz, xatolarni kuzatadigan maxsus vositadan foydalaning. U sizning provayderingizga dastur kodini qo'shib, avtomatik ravishda foydalanuvchilaringizga ta'sir qiladigan muammolarni aniqlaydi va tashxis qo'yadi.

Kodning bir nechta satrlari - buning uchun kifoya qiladi.

Ushbu kabi vositadan foydalanish sizga quyidagilarga imkon beradi:

  • Shovqinli istisnolarni kesib oling va foydalanuvchilarga ta'sir qilish kabi muhim narsalarga e'tibor qarating
  • Elektron pochta, Slack yoki HipChat orqali sozlanadigan xabarnomalarni sozlang
  • Bir nechta til va platformalarni kuzatish uchun bitta vositadan foydalaning
  • Shunga o'xshash xatolar uchun xatolar guruhlanishidan foydalaning
  • Xatolaringiz va ularning echimlari haqida butun jamoangizni xabardor qiling
Raygun kabi xatolarni kuzatadigan maxsus dasturiy ta'minot tizimidan foydalaning

Bu kabi vositalar biz muhokama qilgan boshqa dasturlar kabi arzon yoki bepul emas, ammo vaqtingizga qanday narxlar qo'yasiz? Bepul echimdan foydalanasiz deb ayting. Keyin xatoni ko'paytirishga urinayotganda kodlashni uch soat davomida to'xtatishingiz kerak. Bu, aslida, sarmoyaning juda past rentabelligi.

Tez harakat qilish va yangi funktsiyalarni foydalanuvchilarga etkazib berishni qidirayotgan jamoalar bunday professional echimlar har bir santimetrga arziydi deyishadi. Ular ishlab chiqaruvchilar xatolarni tuzatishga sarflaydigan vaqtni qisqartirishlari va ularni kodlash va takomillashtirishga qaytarishlari mumkin.

Agar sizning kodingiz mukammal deb o'ylasangiz ham va foydalanuvchilarda hech qanday muammolar bo'lmasa, Raygun kabi vositani ulang. Siz topganingizdan hayron qolasiz.

Faol yondashing va mukofotni o'rib oling

Dasturiy ta'minot bilan bog'liq muammolarni avtomatik ravishda hal qilish uchun biz barcha texnologiyalarni yaxshi ko'ramiz. Afsuski, men o'z-o'zini davolash va o'z-o'zini anglash dasturidan uzoqlashmoqdamiz.

Xatolar va nosozliklarni hal qilishni osonlashtirish uchun xatolarni boshqarish echimlarini ishlab chiquvchining ish oqimiga ulashingiz mumkin. Ammo ma'lumotlar ko'pincha ifloslangan va boshqa tizimlar ichidagi kontekstdan ajratilgan.

Xatolarni monitoring qilishning kelajagi barcha jamoalar - oldingi, orqa, boshqaruv yoki yordam - foydalanuvchilar duch keladigan har qanday muammoga to'liq ko'rinishga ega bo'lishiga ishonch hosil qilishdan iborat. Va keyin uni darhol hal qilish qobiliyatiga ega.

Bu, shuningdek, uzluksiz etkazib berish va tarqatish maydonidagi tendentsiyalarga ham tegishli. Muammoni aniqlaganingizdan keyin bir necha daqiqa ichida siz tuzatishlar va ishlab chiqarishga yuborishingiz mumkin. Keyingi yirik joylashtirishdan oldin bir necha hafta kutishingiz shart emas.

O'zingizning ilovalaringizda xatolar va nosozliklar yuz berganda, diqqatingizni jamoangizga qarating. Foydalanuvchilarning muammolaridan oldin kashf eting va xatolar haqida xabar berishga ishonmang.

Chunki ular bo'lmaydi.