سؤال

كيف يمكنك تعريف "الرمز غير المرغوب فيه"؟


يحرر:

IMHO، أي عضو رمز لديه 0 أعضاء متصلين نشطين (يتم تحديده بشكل متكرر) هو رمز غير مرغوب فيه.(الوظائف والأساليب والخصائص والمتغيرات أعضاء)

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

المحلول

و0 المكالمات نشطة وعدم إمكانية استخدامها في المستقبل القريب. وأنا أفضل أن لا نعلق مطلقا أي شيء في حال أحتاج لوقت لاحق لأنني استخدام SVN (التحكم بالمصادر).

نصائح أخرى

وهنا تعريفي ل رمز غير مرغوب فيه:

  • الكود الذي لا يتم تنفيذه هو عبء ثقيل.(ما لم تكن حمولة [ضارة] للتعليمات البرمجية الفعلية الخاصة بك، ولكن هذه قصة أخرى :-))
  • الكود الذي يتكرر عدة مرات يزيد من تكلفة المنتج.
  • الكود الذي لا يمكن اختبار الانحدار يزيد من تكلفة المنتج أيضًا.

يمكنك إما إزالة هذا الرمز أو إعادة هيكلته، لكنك لا تريد الاحتفاظ به كما هو.

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

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

  • يمكن أن يكون رمزًا يجب إعادة هيكلته
  • يمكن أن يكون رمزًا لم يعد يتم استدعاؤه (بقايا الإصدارات السابقة)
  • يمكن أن يكون رمزًا لا ينطبق على دليل النمط وطريقة الترميز

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

في جافا فما استقاموا لكم فاستقيموا بمناسبة أسلوب أو فئة معDeprecated.

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

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

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

وأعتقد أن محاولة تنفيذ تنظيف المنزل الآلي هو مثل محاولة لجعل جهاز USB الذي يضمن لك "بأمان" اللعب <وأ href = "http://en.wikipedia.org/wiki/Russian_roulette" يختلط = "نوفولو noreferrer "> الروليت الروسية .

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

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

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

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