নির্দিষ্ট কোডের জন্য সোনার বন্ধ করা হচ্ছে


164

কোডের নির্দিষ্ট ব্লকগুলির জন্য সোনার ( www.sonarsource.org ) পরিমাপ বন্ধ করা কি কোনওটি পরিমাপ করতে চায় না?

একটি উদাহরণ "স্ট্যাক ট্রেস সংরক্ষণ করুন" সতর্কতা যা ফাইন্ডব্যাগগুলি আউটপুট দেয়। সার্ভার ছাড়ার সময়, আমি কেবলমাত্র ক্লায়েন্টের কাছে বার্তাটি প্রেরণ করতে চাইব, কেবলমাত্র যে সত্যিকারের ব্যতিক্রমটি আমি ধরা পড়েছিলাম তা সহ নয়, যদি সেই ব্যতিক্রমটি ক্লায়েন্টের কাছে অজানা থাকে (কারণ ক্লায়েন্টটির জেআর নেই যা এতে ব্যতিক্রম উদাহরণ অন্তর্ভুক্ত ছিল)।

উত্তর:


70

এটি একটি প্রায়শই জিজ্ঞাসিত প্রশ্ন । আপনি //NOSONARসতর্কতাটি ট্রিগার করতে লাইনে রাখতে পারেন । আমি যদিও FindBugs প্রক্রিয়াটি ব্যবহার করতে পছন্দ করি, যা @ সাপ্লাইএফবি ওয়ার্নিংস টিকাটি যুক্ত করে:

@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
    value = "NAME_OF_THE_FINDBUGS_RULE_TO_IGNORE",
    justification = "Why you choose to ignore it")

2
একমত। তবে, আমি নিশ্চিত নই যে সোনার সঠিকভাবে ব্যাখ্যা করে @SuppressFBWarnings(সংঘর্ষ এড়াতে যোগ করা java.lang.SuppressWarnings) এবং এটিকে উপেক্ষাও করে কিনা।
মার্সেল স্টার

আফাইক, সোনার ফাইন্ডব্যাগ ব্যবহার করে। সুতরাং যদি ফাইন্ডব্যাগগুলি এই টীকাগুলি পরিচালনা করে তবে সোনার দিয়ে ফাইন্ডব্যাগগুলি চালানোর সময় তারা কেন কাজ করবে না তা আমি দেখতে পাই না। যাইহোক পরীক্ষা করা কঠিন হওয়া উচিত নয়।
জেবি নিজত

4
এফএকিউ লিঙ্কটি পুরানো। এখানে নতুন এফএকিউ
ওয়্যারডেনিকো

11
আপনি দয়া করে একটি সোনারকিউব FAQ- এ অন্য লিঙ্কটি সরবরাহ করতে পারেন? আমি FAQ এর পরিবর্তে লগইন ফর্মটি দেখতে পাই
উইন

233

আপনি সপ্রেস ওয়ার্নিংস সহ কোনও শ্রেণি বা কোনও পদ্ধতি এনোটোটেট করতে পারেন

@java.lang.SuppressWarnings("squid:S00112")

স্কুইড: S00112 এই ক্ষেত্রে সোনার ইস্যু আইডি। আপনি সোনার ইউআইতে এই আইডিটি পেতে পারেন। ইস্যু ড্রিলডাউন যান। আপনি সতর্কতা দমন করতে চান এমন একটি সমস্যা সন্ধান করুন। আপনার কোডের লাল ইস্যু বাক্সে প্রদত্ত সমস্যার সংজ্ঞা সহ একটি রুল লিঙ্ক রয়েছে। একবার ক্লিক করলে আপনি পৃষ্ঠার শীর্ষে আইডি দেখতে পাবেন।


8
আমি নিশ্চিত করতে পারি যে এটি কোনও নির্দিষ্ট ফাইন্ডব্যাগস নিয়ম-আইডি সহ কাজ করে, যেমন @SuppressWarnings("findbugs:UI_INHERITANCE_UNSAFE_GETRESOURCE")
বিসিডি

19
সমস্যাটি হল যে গ্রহনটি একটি সতর্কতা প্রদর্শন করে Unsupported @SuppressWarnings("squid:S00112")। আপনি এটিকে উপেক্ষা করার জন্য Eclipse কনফিগার করতে পারেন তবে তার মধ্যে টাইপগুলি যেমন @SuppressWarnings("uncheckedd")সনাক্ত করা যায় না।
অরটোমালা লোকনি

1
@ সপ্রেস ওয়ার্নিংস এবং সোনার-এ ডক্সের জন্য ডকস কোড.কোডসেকান.আইও / এইচসি / এএন / আর্টিকেলস / দেখুন দেখুন ।
ধনী ডগর্টি

89

আমি আপনাকে ব্যবহার করে নির্দিষ্ট সতর্কতা দমন করার চেষ্টা করার পরামর্শ দিচ্ছি @SuppressWarnings("squid:S2078")

একাধিক সতর্কতা দমন করার জন্য আপনি এটি এটি করতে পারেন @SuppressWarnings({"squid:S2078", "squid:S2076"})

এমন একটি //NOSONARমন্তব্যও রয়েছে যা সোনারক्यूबকে একটি নির্দিষ্ট লাইনের জন্য সমস্ত ত্রুটি উপেক্ষা করতে বলে।

অবশেষে যদি আপনার কাছে ইউজার ইন্টারফেসের যথাযথ অধিকার থাকে আপনি সরাসরি ইন্টারফেস থেকে একটি মিথ্যা পজিটিভ হিসাবে একটি পতাকা জারি করতে পারেন।

আমি নির্দিষ্ট সতর্কতাগুলির দমন করার সুপারিশ করার কারণটি হ'ল //NOSONARদুর্ঘটনাক্রমে আপনার কোডে সোনার সমস্যাটি ক্রাইপিংয়ের পরিবর্তে নির্দিষ্ট সমস্যাটিকে ব্লক করা ভাল অভ্যাস ।

এ সম্পর্কে আপনি FAQ এ আরও পড়তে পারেন

দ্রষ্টব্য: গ্যাবার বাকোস পুরানো প্রায়শই জিজ্ঞাসিত প্রশ্নগুলির দিকে ইঙ্গিত করছে যা এখন 404s। এটি আমার জন্য প্রথম গুগল ফলাফল তাই আমি অন্য যে কোনও ব্যক্তির একই প্রশ্ন থাকতে পারে তাদের সহায়তা করতে চাই

সম্পাদনা: 6/30/16 সোনারকিউবকে এখন সোনারলিন্ট বলা হয়

আপনি যদি ভাবছেন যে স্কুইড নম্বরটি কীভাবে খুঁজে পাবেন। সোনার বার্তায় কেবল ক্লিক করুন (প্রাক্তন Remove this method to simply inherit it.) এবং সোনার সমস্যাটি প্রসারিত হবে।

নীচে বাম দিকে এটি স্কুইড নম্বর থাকবে (উদা। squid:S1185রক্ষণাবেক্ষণ> বোধগম্যতা)

সুতরাং আপনি এটি দ্বারা দমন করতে পারেন @SuppressWarnings("squid:S1185")


2
একাধিক সোনার কিউব সতর্কতাগুলি সনাক্ত করতে ইঙ্গিত দেওয়ার জন্য ধন্যবাদ
অ্যালেক্সওয়েন

1
ইন্টারফেসে এটি একটি মিথ্যা ইতিবাচক হিসাবে চিহ্নিত করার সাথে অন্য সমস্যাটি হ'ল যে কারণেই যদি প্রকল্পটি মুছে ফেলা হয় এবং আবার যুক্ত করা হয় তবে আপনার সেট করা পতাকাগুলি সমস্তই চলে যাবে।
annedroiid

@ অ্যানড্রয়েড - pom.xML ফাইলে যদি এটি করা যায় তবে কি কোনও উপায় আছে? আমি করেছি বাড়াতে এখানে প্রশ্ন: stackoverflow.com/questions/57789832/...
Pra_A

8

আপনি যদি আপনার কোডটি সাহায্য করতে না পারেন এমন কিছু হয়ে থাকে তবে আপনি যে লাইনে সতর্কতা পেয়েছেন তাতে নোসোনার ব্যবহার করুন। এটি কাজ করে!


4

এই টীকাটিও কাজ করে আমি সোনার 5.6 এ স্কুইড নম্বরটি সন্ধান করতে পারছি না:

@SuppressWarnings({"pmd:AvoidCatchingGenericException", "checkstyle:com.puppycrawl.tools.checkstyle.checks.coding.IllegalCatchCheck"})

1
squidসোনার-সর্সযুক্ত জাভা ডাটাবেসের জন্য (সোনারআনলাইজার জাভা)। pmdএবং checkstyleঅন্যান্য নিয়ম সংগ্রহস্থলগুলিতে রয়েছে।
ড্যানিয়েল সি সোব্রাল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.