ما هو الاسم الصحيح للقيام بالتصحيح عن طريق إضافة عبارات "طباعة".

StackOverflow https://stackoverflow.com/questions/189562

  •  06-07-2019
  •  | 
  •  

سؤال

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

أي.

 def foo(x):
     print 'Hey wow, we got to foo!', x

     ...

     print 'foo is returning:', bar
     return bar

هل هناك اسم مناسب لهذا النمط من التصحيح؟

هل كانت مفيدة؟

المحلول

ونعم - انه يعرف على printf() التصحيح ، أو الذي سمي على اسم وظيفة C في كل مكان:

<اقتباس فقرة>   

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

- printf () التصحيح @ everything2

والمستخدمين الأصلية لغات أخرى تشير بلا شك لها من قبل الطباعة الافتراضية / تسجيل / أو الأوامر المتوفرة تتبع لمنصة الترميز التي يختارونها، ولكني سمعت "printf ()" اسم استخدامها لrefere لهذه التقنية في العديد من اللغات الأخرى من C. ولعل هذا يرجع إلى تاريخها: بينما كان BASIC وFORTRAN الأوامر الأساسية ولكن للخدمة PRINT، مطلوب C عموما مزيد من العمل قليلا لتهيئة أنواع البيانات المختلفة: كان printf() (وغالبا ما زال) <م> من جانب بعيدا الوسائل الأكثر ملاءمة لهذه الغاية، وتوفير العديد من المدمج في خيارات التنسيق. ابن عم لها، fprintf()، ويأخذ مقياس آخر، وتيار الكتابة إلى: هذا يسمح لل"المصحح" دقيق لتوجيه المعلومات التشخيصية لstderr (ربما نفسها توجيهها إلى ملف السجل) مع ترك إخراج البرنامج غير فاسد.

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

نصائح أخرى

لقد سمعت أنه يسمى تصحيح أخطاء رجل الكهف

اعتقدت أن الاقتباس التالي سيكون مناسبًا:

"لا تزال أداة تصحيح الأخطاء الأكثر فعالية هي التفكير المتأني، إلى جانب البيانات المطبوعة الموضوعة بحكمة."

  • بريان كيرنيغان، "يونيكس للمبتدئين" (1979)

وأنا أسميها تتبع.

ولي وزملائي اصفا اياه بانه "المدرسة القديمة التصحيح".

مقعد من ملابسك التصحيح :)

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

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

وأنا أسمي هذا "مرحبا يا أمي" البرمجة.

ولقد سمعت أيضا مصطلح <القوي> "التصحيح MESSAGEBOX" من الحشد VB للإشارة إلى هذا "النمط" من "التصحيح".

وI جزءا لا يتجزأ من النظم في كثير من الأحيان منهجه الوحيد لأداة التعليمات البرمجية. للأسف الطباعة يستغرق وقتا طويلا وآثار تدفق في الوقت الحقيقي للنظام. لذلك نحن أيضا أداة عبر "تتبع" حيث المعلومات حول حالة النظام (وظيفة دخول خروج الخ) هو مكتوب إلى المخزن المؤقت الداخلي ليكون ملقاة وتحليل في وقت لاحق. ريال المبرمجين جزءا لا يتجزأ من يمكن تصحيح قبل ان تطرف له LED؛)

لقد سمعت "تصحيح أخطاء جوتنبرج"يستخدم، على شرف الرجل الذي اخترع المطبعة.

سأسميها ببساطة "تسجيل".

وأنا عادة ما تشير إلى أنها تتبع.

لاحظ أن في Visual Studio يمكنك تعيين نقاط والتي تضيف مجرد البحث عن المفقودين. انقر بزر الماوس الأيمن على نقطة توقف، حدد "عندما ضرب ..." وتحقق خيار "طباعة الرسالة".

وكما في صافي يمكنك إضافة البيانات التصحيح (على ما أظن هو في الواقع Debug.WriteLine) لانتاج وحدة التحكم. ليست سوى تضمين هذه statments في التصحيح يبني - والمترجم تترك لهم تلقائيا عند القيام إنشاء إصدار

والكلاسيكية التصحيح

والتأكيدات دليل؟ المصحح الخوف المرضي؟

والتصحيح مطول!

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

ولقد عرفت دائما اينما وردت عبارة "التصحيح السريع والقذر، أو مجرد" التصحيح القذرة "في القصير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top