هل هناك أي أدوات لتصور أساليب القالب/الفصل واستخدامها؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

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

هل هناك أي أداة جيدة يمكنها بطريقة أو بأخرى تصور التبعيات ورسم شجرة اتصال لطيفة أو شيء مشابه؟

الكود موجود في C++ في Visual Studio إذا كان ذلك يساعد في تضييق نطاق أي تحديد.

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

المحلول

وهنا عدد قليل من الخيارات:

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

نصائح أخرى

عندما استخدمت Doxygen، تم إنتاج قائمة كاملة بالمتصلين والمتصلين.أعتقد أن عليك تشغيله.

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

يبدو أن Doxygen هو الأكثر شمولاً من بين الثلاثة، لكنه لا يزال يترك بعض الأشياء مرغوبة فيما يتعلق بمتصلي الأساليب.

يبدو أن الثلاثة جميعًا يواجهون مشكلات مع قوالب C++ بدرجات متفاوتة.لقد تعطل CC-Rider ببساطة في منتصف التحليل ولا يُظهر CodeDrawer العديد من العلاقات.لقد عمل Doxygen بشكل جيد جدًا، لكنه أيضًا لم يعثر على جميع العلاقات ويظهرها، وبدلاً من ذلك غمرني بالكثير من المراجع الكلية حتى قمت بتصفيتها.

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

هل هناك أي أدوات أخرى قد تكون على مستوى المهمة ويمكن أن تؤدي أداءً أفضل (بشكل أكثر شمولاً)؟اه وعلى وجه التحديد:أي شيء يفهم واجهات IDL وCOM؟

عندما استخدمت Doxygen، تم إنتاج قائمة كاملة بالمتصلين والمتصلين.أعتقد أن عليك تشغيله.

لقد فعلت ذلك بالطبع، ولكن كما ذكرت، لا يأخذ Doxygen في الاعتبار الواجهات بين الكائنات كما تم تعريفها في IDL.يعرض "فقط" مكالمات C++ المباشرة.

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

في Java سأبدأ بـ JDepend.في .NET، مع NDepend.لا أعرف عن C++.

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