سؤال

لقد قمت للتو بتثبيت PMD لتحليل مشروع Java الخاص بي. أداة جميلة حقا، ينصح بشدة. على أي حال، حصلت على عدد قليل من الأخطاء التي يقولها:

"يجب أن تكون طريقة فارغة في فئة مجردة مجردة بدلا من ذلك"

راجعت وثائق PMD ويقول التفسير:

كما قد يعتمد المطور على هذا التنفيذ الفارغ بدلا من رمز واحد مناسب

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

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

توضيح: PMD يعامل طريقة مع بيان عودة واحدة فارغة.

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

المحلول

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

نصائح أخرى

إذا كنت على Java 1.8، يمكنك جعل الكيان واجهه المستخدم بدلا من فئة مجردة وكتابة إفتراضي التنفيذ لطريقتك فيه.

public interface Entity {
    default boolean yourMethod() {
        //default implementation ...
    }
}

يمكنك استخدام هذا للإشارة:https://docs.oracle.com/javase/tutorial/java/iandi/defaultmethods.html.

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