نقطة وظيفة إلى نسبة kloc كمقياس البرامج ... "اسم هذا اللحن" المتري؟

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

  •  04-07-2019
  •  | 
  •  

سؤال

ما رأيك في استخدام مقياس من نقطة وظيفة لخطوط رمز كمقياس؟

ويجعلني أفكر في القديم لعبة عرض "اسم هذا اللحن". "أستطيع أن اسم هذه النغمة في ثلاث مذكرات!" أستطيع أن أكتب هذه الوظيفة في 0.1 klocs! هل هذا مفيد؟

ويبدو من المؤكد لتعزيز استخدام المكتبة، ولكن هل هذا ما تريد؟

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

المحلول

واعتقد انها فكرة رهيبة. فقط سيئا كما دفع المبرمجين بخطوط من التعليمات البرمجية التي يكتبون.

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

نصائح أخرى

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

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

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

وقال "ما رأيك في استخدام مقياس من نقطة وظيفة لخطوط رمز كمقياس؟"

لا تحصل على السؤال. نسبة أعلاه - للغة وفريق معين - وهذه حقيقة إحصائية بسيطة. وأنه يميل نحو القيمة المتوسطة مع انحراف معياري صغير.

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

وبعد عدد قليل من المشاريع معا، لديك توقعات الصلبة التي 1200 نقطة وظيفة ستكون 12،000 الأسطر من التعليمات البرمجية في لغة إطار منظمة فريقك المفضل / /.

وKSloc / FP هو المراقبة الإحصائية العارية. ومن الواضح أن هناك شيئا آخر عن هذا أن يزعجك. هل يمكن أن يكون أكثر تحديدا في سؤالك؟

ويستخدم المقياس من وظيفة نقاط للخطوط من قانون فعلا لتوليد الخرائط مستوى اللغة (في الواقع، بل هو وظيفة نقاط حول البيانات) لإعطاء شعور التقريبي لمدى قوة لغة البرمجة. هنا مثال: http://web.cecs.pdx.edu/ ~ تيم / دسم / functionpoints.html

وأود أن لا نوصي باستخدام هذه النسبة عن أي شيء آخر، إلا تقريبية عالية المستوى مثل الرسم البياني مستوى اللغة.

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

وأنا شخصيا أود أن أرى نقطة وظيفة لنسبة متري ABC - وأنا غريبة عن كيفية قياس ABC (الذي يشير إلى حجم وتعقيد يشمل كجزء من المعلومات) ستتعلق - ربما الخطية، وربما الأسي، الخ ... www.softwarerenovation.com/ABCMetric.pdf

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

وهذا يعني عموما شيء على غرار

grep -c ";" *.h *.cpp | awk -F: '/:/ {x += $2} END {print x}'

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

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