1 نوفمبر 2009 2 تعليقات

حكاية تحذيرية لويل: إن الخلل الذي تمكن من الهرب

http://markbeljaars.com/wp-content/plugins/sociofluid/images/digg_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/reddit_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/stumbleupon_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/delicious_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/furl_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/technorati_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/facebook_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/yahoobuzz_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/mixx_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/twitter_48.png~~V

صدر الأسبوع الماضي أنا نسخة محدثة من بلدي جدول الخالق محتويات البرنامج المساعد لورد. فخر لي نفسي في بلدي الترميز، خطأ الحقائق واختبار قدراتهم. أن انهار كل شيء في ليلة واحدة واحدة.

لخفض قصة قصيرة طويلة، تتطلب مراجعة وظيفة جديدة المساعد لعرض إدخالات آخر. كان يسمى فقط وظيفة المساعد من قبل وظيفة واحدة وأنا انتخبت لذلك لتشمل وظيفة المساعد كطفل من أن وظيفة. هذا هو ممارسة شائعة في العديد من اللغات كما حزم بدقة جميع المهام وأعوانهم في المنطقة القريبة. يتم استدعاء الدالة الأم من خلال الطريقة في كل مرة يتم عرض صفحة وتنتهي على الفور ما اذا تلك الصفحة لا يتضمن البادئ خريطة موقع العلامة.

موافق. الوقت يمر. هي عليه الآن 02:00. رمز جاهز الآن لاختبار. وأنا أعرف أن يخرج وظيفة الوالد على الفور اذا لم تجد علامة المبادر. هذا وقد عملت سابقا، وذهبت في مكان قريب منه، لذلك ينبغي أن نواصل العمل. أليس كذلك؟ أنا راجع صفحة خريطة الموقع، جرب كل الخيارات الجديدة والقديمة وإثبات أن رمز يعمل على النحو المنشود. أنا تزامن بسرعة مستودع SVN والاندفاع باتجاه آخر إلى الفراش للحصول على قسط من النوم قبل أن تشرق الشمس.

في صباح اليوم التالي قررت أن تحقق موقع كبير وأنا أعرف أن يستخدم البرنامج المساعد الخاص بي. ليس هناك بديل لاختبار العالم الحقيقي. نعم، يبدو كل شيء جيدا. عند هذه النقطة لاحظت وجود آخر في خريطة موقع، التي بدت مثيرة للاهتمام. أنا النقر على رابط فئة وقدم مع المشاركة الأولى في فئة وبعد ذلك خطأ كبير فب رسالة سيئة. MMM. نظرت إلى موقع آخر كبير. MMM. ربما من قبيل الصدفة. دعنا ننظر إلى واحدة أكثر. أوه لا!

فراح ما الخطأ؟ نتذكر أن وظيفة الطفل؟ لقد سمعت من يقول ان الاطفال يمكن ان يكون الشر، واتضح أن يكون صحيحا في هذه الحالة. إذا تم عرض صفحة بلوق، صفحة الفئة، صفحة علامة أو حتى صفحة رئيسية، وتظهر المشاركات المتعددة على صفحة واحدة. وورد ذلك من خلال التظاهر بأن لكل وظيفة مصغرة صفحة ويربط كل صفحات مصغرة معا لتشكيل صفحة واحدة كبيرة. وهذا يعني أن ما يسمى وظيفة لي الوالد عدة مرات. عادة ليست قضية. ولكن الآن كما يحتوي على وظائف وظيفة الطفل، ويتم إنشاء هذه الوظائف الطفل في كل مرة يتم استدعاء الدالة الأصل (حتى لو لم يتم استخدامها). ولذلك، عندما يتم عرض آخر الثاني، صفحة تعطل مع رسالة خطأ اسم مكرر وظيفة. وكانت النتيجة أن صاف من الشوائب الصغيرة في وظيفة لا علاقة لها على ما يبدو تسبب عدة مواقع كبيرة جدا للذهاب إلى أسفل.

الروح المعنوية للقصة: إذا كنت مسؤول الموقع، وتأكد من تشغيل مجموعة كاملة من الاختبارات بعد كل تحديث البرنامج المساعد، ومهما كانت كبيرة أو صغيرة قد يكون من المساعد.


SpinChimp Leaderboard 728x90