تجد IntelliJ IDEA و ReSharper و SonarLint و SonarQube نفس الأخطاء التي يحدثها PVS-Studio - حسنًا ، لماذا نحتاج إلى PVS-Studio؟

الصورة 1 في بعض الأحيان ، يسأل الناس سؤالًا ، للوهلة الأولى ، يتعلق بشيء ما ، بل يتعلق بشيء آخر. كما يقولون ، يحتوي السؤال جيد طرح نصف الإجابة.

في اليوم الآخر ، عدت من مؤتمر JPoint ، حيث تم تقديم محلل PVS-Studio الجديد لجافا لأول مرة. تزايد الاهتمام بالتحليل الثابت بسرعة كبيرة في السنوات القليلة الماضية ، لذلك أخذ الجمهور برنامج PVS-Studio بفارق كبير. بالإضافة إلى ردود الفعل الإيجابية ، بالطبع ، كان علي أن أعمل مع الاعتراضات. الاعتراض الأكثر شيوعًا على العرض لتجربة PVS-Studio هو: "هيا ، لماذا يجب أن نجرب PVS-Studio؟ نحن نستخدم IntelliJ IDEA و ReSharper و SonarLint و SonarQube. لذا أطلقنا مؤخرًا PVS-Studio ، ووجد أخطاء يبرزها IntelliJ IDEA بالفعل! "

لا يسعني إلا أن أكتب ملاحظة صغيرة على هذا التعليق. بتعبير أدق ، لدي حتى جوابان على هذا الاعتراض. ونعم ، لقد أشرت على وجه التحديد إلى ReSharper هنا ، نظرًا لأن مثل هذه الأسئلة تنطبق أيضًا على محللنا لـ C #. حسنًا ، سأجيب بكل سرور.

أولاً ، لا نقوم بعمل PVS-Studio عن طريق نسخ تشخيصات المنافسين. نسخ أعمى دون فهم جوهر يؤدي إلى أي مكان. قيمة تحليل الكود الثابت ، قيمة تشخيصه ليست مكان رمي الخطأ. وحيث لا نعطيه. لكل تشخيص من تشخيصاتنا ، لدينا 10 أو 20 أو أكثر من الاستثناءات ، عندما لا يكون من الضروري إطلاقها. يشبه نسخ التشخيص من المنتجات الأخرى وفقًا لوصفها في الوثائق محاولة إنشاء نفس المبنى باستخدام صورة واحدة. بقوة صورة المدرج سوف تساعدك إذا فجأة جعل "الآلهة" أنت تبني نفسه؟

لذلك ، نحن أبدا نسخ. "لكن لديك نفس التشخيصات!" - أنت تقول. بالطبع هناك. أفكار العديد من الأخطاء تكمن على السطح. هذا واضح تماما. لكن التشخيص في كثير من الأحيان مع نفس الوصف يتصرف بشكل مختلف.

بمعنى آخر ، إذا استخدمت أيًا من المنتجات المشار إليها في الرأس ، فعند بدء تشغيل PVS-Studio ، قد تجد مجموعة من الأخطاء الجديدة التي لم يتم اكتشافها بواسطة منتجات أخرى. تؤكد تجربة عملائنا وتجربة التحقق من المشروعات المفتوحة على ذلك.

ثانياً ، حتى إذا كنت تستخدم IntelliJ IDEA و ReSharper و SonarLint / SonarQube ، وتجد نفس الأخطاء في التعليمات البرمجية الخاصة بك مثل PVS-Studio ، عندئذٍ لدي أخبار سيئة لك. يمكنك استخدام الأدوات التي تعثر على أخطاء ، حسناً. ولكن لماذا يجد برنامج PVS-Studio أخطاء في الكود الخاص بك والتي يبدو أنها وجدت من قبل كل هذه الأدوات؟ لماذا عند استخدام الأدوات التي "تمامًا مثل PVS-Studio سيجد كل شيء" ، لا يتم إصلاح الأخطاء؟ ربما هذه الأدوات تسمح لهم بعدم تحريرها؟

أدوات IntelliJ IDEA و ReSharper و SonarLint مع SonarQube هي أدوات جيدة جدًا. أنها مصنوعة من قبل فرق المؤهلين تأهيلا عاليا. وإذا كنت تستخدمها ، فأنت تفعل كل شيء بشكل صحيح. كلما ارتفع مستوى الثقافة الهندسية في المشروع ، كان ذلك أفضل للأعمال.

ولكن إذا وجدت جميع هذه الأدوات "نفس الأخطاء التي عثر عليها في PVS-Studio" وما زالت الأخطاء موجودة في الكود ، فأنت تفعل خطأً. قم بتنفيذ تدريب جماعي مثل الاستخدام المنتظم لـ PVS-Studio. ثم لن يتم العثور على الأخطاء فقط ، ولكن يتم تصحيحها أيضًا. سيؤدي تطبيق PVS-Studio إلى قيام مطوري القوات بإصلاح الأخطاء. وليس فقط العثور عليها.



إذا كنت ترغب في مشاركة هذه المقالة مع جمهور يتحدث الإنجليزية ، فالرجاء استخدام الرابط الخاص بالترجمة: Evgeniy Ryzhkov. تجد IntelliJ IDEA و ReSharper و SonarLint و SonarQube نفس الأخطاء ، مثل PVS-Studio - فلماذا نحتاج إلى PVS-Studio؟

Source: https://habr.com/ru/post/ar449174/


All Articles