جميل انك تستخدم جملة try-catch في كودك لكن لها تبعاتها.
خصوصا لما تغلف كودك بtry كبيرة و في الcatch "استثناء عام" لأي مشكلة ممكنة. هذا السلوك له اسم و هو مبدأ Fail-Silently. فهو كأنك تقول لبرنامجك ( افشل و انت ساكت و لا تقول للعميل اي شي) و هذا يصعّب عملية ال Testing.
(سلسلة)
خصوصا لما تغلف كودك بtry كبيرة و في الcatch "استثناء عام" لأي مشكلة ممكنة. هذا السلوك له اسم و هو مبدأ Fail-Silently. فهو كأنك تقول لبرنامجك ( افشل و انت ساكت و لا تقول للعميل اي شي) و هذا يصعّب عملية ال Testing.
(سلسلة)
صحيح انك اضفت log لكن متى تشوف الlog؟ لما تصير المشكلة عامة؟!. اغلب العملاء لا يبلغون عن المشكلة إلا اذا توقفوا تماماً و لا يوجد لك بديل. ووقتها ممكن تكون حدثت مصائب في قاعدة البيانات. بالإضافة إلى أن مراجعة الstack traces مجهدة و قد لا تفيد و تحتاج ساعات لتحديد سبب المشكلة.
يتبع
يتبع
في الجهة الأخرى لمبدأ Fail-Silently هناك مبدأ Fail-Fast. اجعل اخطائك واضحة وصريحة و مرئية للجميع!. ممكن تقول ان هذا يخلي برنامجي fragile و غير robust لكن في الحقيقة هنا يظهر الثبات. اظهر مشاكلك بThrow Exception محددة و حلها مباشرة.
يتبع ..
يتبع ..
مبدأ Fail-Fast لا يعني Fail-Stop او Fail-Badly كما يعرفها متخصصي امن البيانات او الأخطر Fail-Deadly في الانظمة الخطرة كالمفاعلات النووية او الطيران وغيره. هذه مباديء بعضها من ا لخمسينيات و مازالت مهمه في ايامنا هذه.
انتهى.
انتهى.
جاري تحميل الاقتراحات...