NDEPEND COUNT ، المتوسط ​​، إلخ. الإبلاغ ... المجاميع. ممكن؟ عمل نظيف حوله؟

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

سؤال

لدينا قاعدة رمز ضخمة ، حيث تعيد العديد من المتغيرات المحلية وحدها 226 طريقة. لا أريد أن يتم إلقاء هذا الجدول الضخم في إخراج XML لتفكيكه ، وأود أن يكون أفضل 10 إن أمكن ، لكن ما أريده حقًا هو العد حتى نتمكن من القيام بالملخصات التنفيذية. هل هناك طريقة نظيفة/فعالة/غير قابلة للتطوير للقيام بذلك؟

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

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

المحلول

ماذا عن تحديد خط أساسي لمراعاة العيوب الجديدة فقط?

ما أريده حقًا هو العد حتى نتمكن من القيام بالتجاري والملخصات التنفيذية

يمكن تحقيق الاتجاه بسهولة مع استفسارات الكود والقواعد عبر LINQ (CQLINQ) مثل: تجنب جعل الأساليب المعقدة أكثر تعقيدًا (المصدر CC)

// <Name>Avoid making complex methods even more complex (Source CC)</Name>
// To visualize changes in code, right-click a matched method and select:
//  - Compare older and newer versions of source file
//  - Compare older and newer versions disassembled with Reflector

warnif count > 0 
from m in JustMyCode.Methods where
 !m.IsAbstract &&
  m.IsPresentInBothBuilds() &&
  m.CodeWasChanged()

let oldCC = m.OlderVersion().CyclomaticComplexity
where oldCC > 6 && m.CyclomaticComplexity > oldCC 

select new { m,
    oldCC ,
    newCC = m.CyclomaticComplexity ,
    oldLoc = m.OlderVersion().NbLinesOfCode,
    newLoc = m.NbLinesOfCode,
}

أو تجنب تحويل نوع غير قابل للتغيير إلى واحد قابل للتغيير.

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