الدفاعية الأساسية البرمجة [مكررة]
-
20-09-2019 - |
سؤال
ممكن مكررة:
المفضلة (ذكي) دفاعية أفضل الممارسات البرمجة
أنا دائما نصحت من قبل بعض المبرمجين لدفع التركيز سهل التصحيح.ما هو دفاعية البرمجة والتي تمتد ينبغي مراعاتها أثناء التدريب ؟
و هناك سؤال أكثر أهمية:هل هناك أي الأشياء الرئيسية النظر في حين الترميز و ما هي ؟
المحلول
إلقاء نظرة على
دفاعية البرمجة هو فكرة أن المطور يجعل بعض الافتراضات كما من الضروري على الإطلاق.وبالإضافة إلى ذلك ، المطور استباقي يخلق التعليمات البرمجية التي تتوقع ليس فقط المشاكل المحتملة ولكن أيضا مواصفات التغييرات.
نصائح أخرى
وكقاعدة عامة من الإبهام -- إذا كنت الصيد نفسك التفكير "هذا سوف يكون دائما صحيحا", كتابة ASSERT( condition)
في هذا المكان.ربما كان هذا هو جوهر ما الدفاعية يجب أن تكون البرمجة ;).
إذا دفاعية البرمجة يعني شيء واحد فقط , يجب أن يكون استخدام يؤكدون على نطاق واسع.
هنا هو مادة جيدة عن متى وأين استخدم assert
.
هناك العديد من الحالات حيث أنه هو جيد لاستخدام التأكيدات.هذا يغطي القسم بعض منها:
* Internal Invariants * Control-Flow Invariants * Preconditions, Postconditions, and Class Invariants
http://en.wikipedia.org/wiki/Defensive_programming
دفاعية البرمجة يعني أن لك معرفة ما إذا كان الملف موجود و إذا كان لديك أذونات فتحه بدلا من مجرد محاولة فتحه و اصطياد أي نهاية المطاف استثناءات.(مجرد مثال)