على PSP0 عملية الأدوات الحديثة لغات البرمجة [مغلقة]

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

  •  07-07-2019
  •  | 
  •  

سؤال

على البرمجيات الشخصية العملية (PSP) صمم للسماح مهندسي البرمجيات لفهم وتحسين أدائها.PSP تستخدم البرامج النصية إلى دليل المتدرب من خلال هذه العملية.كل السيناريو يحدد الغرض, معايير, الخطوات لتنفيذ و الخروج المعايير.PSP0 مصممة لتكون الإطار الذي يسمح بدء الشخصية العملية.

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

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

مخاوفي هي مع كيفية إدارة مدونة وتجميع واختبار مراحل عند استخدام لغات البرمجة الحديثة (وخاصة تفسير لغات مثل Python, Perl, و روبي) و ايديس.

أسئلتي:

  • في تفسير لغات, لا يوجد وقت الترجمة.ومع ذلك ، قد يكون هناك مشاكل في التنفيذ.يتم تنفيذ البرنامج النصي خارج الوحدة (وغيرها) الاختبارات تعتبر "تجميع" أو "اختبار" الوقت ؟ يجب أن الأخطاء مع تنفيذ تعتبر "تجميع" أو "اختبار" أخطاء عندما تتبع العيوب ؟
  • إذا كان اختبارا واجه خطأ في بناء الجملة, هل هذا يعتبر عيب التعليمات برمجية ، ترجمة عيب ، أو اختبار عيب ؟ الاختبار فعلا وجدت خطأ, وإنما هو رمز المشكلة.
  • إذا IDE يحدد خطأ من شأنها أن تمنع تجميع قبل فعلا تجميع ينبغي أن يكون تحديدها ؟ إذا كان الأمر كذلك ، ينبغي تحديد تعقبها خطأ في التحويل البرمجي أو رمز الخطأ ؟

يبدو مثل PSP, على الأقل PSP0 الأساس عملية ، تم تصميمه ليتم استخدامها مع لغة مترجمة و تطبيقات صغيرة مكتوبة باستخدام محرر نص (وليس IDE).بالإضافة إلى أسئلتي وأرجو النصيحة والتعليق من أي شخص يستخدم أو استخدم PSP.

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

المحلول 5

بعد قراءة الردود قبل مايك بيرتون, فينكو Vrsalovic, ، JRL وإعادة قراءة الفصول المناسبة في PSP:عملية التحسين الذاتي لمهندسي البرمجيات ، لقد جئت مع بلدي يأخذ على هذه المشاكل.ما هو جيد هو أن وجدت مقطع في الكتاب الذي أنا أصلا غاب عندما صفحتين تمسك معا.

  • في تفسير لغات, هناك لا وقت الترجمة.ومع ذلك ، قد مشاكل في التنفيذ.يتم تنفيذ السيناريو ، خارج الوحدة (و أخرى) الاختبارات تعتبر "تجميع" أو "اختبار" الوقت ؟ يجب أن الأخطاء مع تنفيذ تعتبر "تجميع" أو "اختبار" أخطاء عندما تتبع العيوب ؟

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

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

  • إذا كان اختبارا واجه جملة الخطأ هو أن يعتبر رمز , عيب تجميع عيب ، أو اختبار عيب ؟ الاختبار فعلا وجدت خطأ, وإنما هو رمز المشكلة.

وأود أن سجل الأخطاء التي تقع فيها.

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

  • إذا IDE يحدد خطأ من شأنه أن يمنع تجميع قبل في الواقع تجميع ، تحديدها ؟ إذا كان الأمر كذلك ، تحديد و تعقب مثل تجميع خطأ أو رمز الخطأ ؟

إذا IDE يحدد خطأ في بناء الجملة ، فإنه هو نفسه كما كنت في الواقع اكتشاف الخطأ قبل التنفيذ.باستخدام IDE بشكل صحيح, هناك عدد قليل من أعذار ترك عيوب من شأنها أن تؤثر على التنفيذ (كما يسبب أخطاء في تنفيذ التطبيق الأخرى من المنطق/تنفيذ الأخطاء) من خلال.

نصائح أخرى

في PSP هو تحسين الشخصية عملية إجابات على الأسئلة الفعلية لا يهم طالما يمكنك اختيار إجابة واحدة وتطبيقه باستمرار.وبهذه الطريقة سوف تكون قادرة على قياس مرة كنت تأخذ في تعريف كل مرحلة, وهو ما PSP بعد.إذا كان الفريق الخاص بك هو جماعي باستخدام PSP ثم يجب أن نتفق جميعا على مخطوطات استخدام وكيفية الإجابة على الأسئلة الخاصة بك.

بلدي يأخذ على الأسئلة الفعلية هي (لا أن تكون ذات صلة):

  • في تفسير لغات, لا يوجد وقت الترجمة.ومع ذلك ، قد مشاكل في التنفيذ.يتم تنفيذ السيناريو ، خارج الوحدة (و أخرى) الاختبارات تعتبر "تجميع" أو "اختبار" الوقت ؟ يجب أن الأخطاء مع تنفيذ تعتبر "تجميع" أو "اختبار" أخطاء عندما تتبع العيوب ؟

لي وقت الاختبار هو الوقت المناسب عندما الفعلية اختبارات تشغيل وليس أي شيء آخر.في هذه الحالة, كل الأخطاء و وقت التنفيذ أود إضافة 'تجميع' الوقت, الوقت الذي يستخدم في توليد وتشغيل التعليمات البرمجية.

  • إذا كان اختبارا واجه خطأ في بناء الجملة, هل هذا يعتبر رمز , عيب تجميع عيب ، أو اختبار عيب ؟ الاختبار فعلا وجدت خطأ, وإنما هو رمز المشكلة.

أخطاء في بناء الجملة هي رمز العيوب.

  • إذا IDE يحدد خطأ من شأنها أن تمنع تجميع قبل في الواقع تجميع ، تحديدها ؟ إذا كان الأمر كذلك ، تحديد و تعقب مثل تجميع خطأ أو رمز الخطأ ؟

إذا IDE هو جزء من toolchain, ثم رؤية أخطاء مثل نفسك وقد رصدت أخطاء ، وبالتالي الأخطاء البرمجية.إذا كنت لا تستخدم IDE بانتظام ، ثم لعددت لهم أخطاء الترجمة.

لقد استخدمت PSP لسنوات.كما قال الآخرون، إنها عملية شخصية، وسوف تحتاج إلى تطوير PSP0 لتحسين عملية التطوير الخاصة بك.ومع ذلك، فقد واجه فريقنا (الذي تم تدريبه جميعًا على PSP) هذه المشكلات على عدة جبهات.اسمحوا لي أن أعطيكم فكرة عن المكونات المعنية، وبعد ذلك سأقول كيف تمكنا من ذلك.

كان لدينا "طبقة" PowerBuilder؛يمنعك PowerBuilder IDE من حفظ التعليمات البرمجية الخاصة بك حتى يتم تجميعها بشكل صحيح وربطها.استخدم جزء من النظام JSP، على الرغم من أن كمية Java كانت صغيرة، وكانت نموذجية، لذلك في الممارسة العملية، لم نحسبها على الإطلاق.كان جزء كبير من النظام في JS/JavaScript؛وقد تم ذلك قبل ظهور مكتبات Ajax الرائعة، والتي كانت تمثل جزءًا كبيرًا من العمل.الجزء الكبير الآخر كان Oracle Pl/Sql؛هذا لديه مرحلة تجميع أكثر تقليدية إلى حد ما.

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

لقد أجبرنا جانب التجميع/الارتباط الإجباري في PowerBuilder IDE على نقل مرحلة مراجعة التعليمات البرمجية إلى مرحلة ما بعد التجميع.في البداية، سبب لنا هذا بعض الضيق، لأننا لم نكن متأكدين من كيفية/إذا كان هذا التغيير سيؤثر على معنى البيانات.ومن الناحية العملية، أصبح الأمر لا يمثل مشكلة.في الواقع، قام الكثير منا أيضًا بنقل مراجعات تعليمات Oracle Pl/Sql الخاصة بنا إلى ما بعد مرحلة الترجمة أيضًا، لأننا وجدنا أنه عند مراجعة التعليمات البرمجية، كثيرًا ما نتغاضى عن بعض الأخطاء النحوية التي سيبلغ عنها المترجم.

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

سؤالك الثاني مستقل عن بيئة التطوير.عندما تواجه عيبًا، تقوم بتسجيل المرحلة التي أدخلتها فيها (عادةً التصميم أو التعليمات البرمجية) والمرحلة التي قمت بإزالتها (عادةً التصميم/مراجعة التعليمات البرمجية، أو التجميع، أو الاختبار).يمنحك ذلك مقياسًا يسمى "الرافعة المالية"، والذي يشير إلى الفعالية النسبية لإزالة الخلل في مرحلة معينة (ويدعم "المعرفة العامة" بأن إزالة العيوب في وقت مبكر أكثر فعالية من إزالتها لاحقًا في العملية).المرحلة التي تم حقن العيب فيها هي نوعه، أي عيب في التصميم أو الترميز.لا تؤثر المرحلة التي يتم فيها إزالة العيب على نوعه.

وبالمثل، مع JS/JavaScript، يكون وقت الترجمة غير قابل للقياس بشكل فعال.لم نسجل أي مرة لمرحلة التجميع، ولكن مرة أخرى، لم نقم بإزالة أي عيوب في تلك المرحلة.تم إدخال الجزء الأكبر من عيوب JS/JavaScript في التصميم/الترميز وإزالتها في مراجعة التصميم أو مراجعة التعليمات البرمجية أو الاختبار.

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

  • في تفسير لغات, لا يوجد وقت الترجمة.ومع ذلك ، قد مشاكل في التنفيذ.يتم تنفيذ السيناريو ، خارج الوحدة (و أخرى) الاختبارات تعتبر "تجميع" أو "اختبار" الوقت ؟ يجب أن الأخطاء مع تنفيذ تعتبر "تجميع" أو "اختبار" أخطاء عندما تتبع العيوب ؟

أخطاء يجب أن تكون مصنفة وفقا عندما تم إنشاؤها ، وليس عندما وجدت لهم.

  • إذا كان اختبارا واجه خطأ في بناء الجملة, هل هذا يعتبر رمز , عيب تجميع عيب ، أو اختبار عيب ؟ الاختبار فعلا وجدت خطأ, وإنما هو رمز المشكلة.

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

  • إذا IDE يحدد خطأ من شأنها أن تمنع تجميع قبل في الواقع تجميع ، تحديدها ؟ إذا كان الأمر كذلك ، تحديد و تعقب مثل تجميع خطأ أو رمز الخطأ ؟

وأعتقد أنه ينبغي أن لا يمكن تحديدها.انها مجرد الوقت الذي يقضيه في كتابة التعليمات البرمجية.

كملاحظة جانبية, لقد استعملت هذه العملية لوحة القيادة أداة لتتبع PSP البيانات وجدت أنه لطيف جدا.انها حرة و جافا القائمة ، لذلك يجب أن تعمل في أي مكان.يمكنك الحصول عليه هنا:http://processdash.sourceforge.net/

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