ইন্টেলিজ আইডিয়ায় সমস্ত অব্যবহৃত ক্লাসগুলি কীভাবে খুঁজে পাবেন?


126

একটি পরিদর্শন "অব্যবহৃত ঘোষণা" রয়েছে যা ইনটেলিজ আইডিয়ায় সমস্ত অব্যবহৃত কোড খুঁজে পেতে পারে। ( এই প্রশ্নটি দেখুন ) তবে আমি সমস্ত অব্যবহৃত ক্লাসগুলি খুঁজতে চাই, পদ্ধতিগুলি, ভেরিয়েবলগুলি না Only কেবলমাত্র ক্লাস। (3000 ফলাফলের তালিকায় কেবল ক্লাসগুলি পাওয়া কঠিন)) আমি কীভাবে এটি করতে পারি?


খালি পরিদর্শন চালান ডান বোতাম ক্লিক করুন এবং মেনু তালিকায় এটি দেখুন।
চেরি

এটি দুটি প্রশ্ন - পৃথক প্রশ্ন হিসাবে তারা আরও ভাল হবে। এছাড়াও সিরিয়ালভিশনএক্সএক্সএক্সএক্স বেশিরভাগ প্রকল্পের জন্য একটি খারাপ ধারণা।
সফটওয়্যার ইঞ্জিনিয়ার

এটি একটি খারাপ ধারণা কারণ খুব কম বিকাশকারীরা জানেন এটি এর জন্য এবং এটি প্রায় সর্বদা অপব্যবহার করা হয়। বাইট স্তরে অবজেক্টগুলি পড়তে এবং লিখতে সিরিয়ালাইজেশন প্রক্রিয়াটি ব্যবহার করা জাভাতে অত্যন্ত বিরল এবং আপনি যদি ডিফল্ট সিরিয়াল সংস্করণটি করেন তবে সাধারণত সুরক্ষা সরবরাহ করা যথেষ্ট। হার্ড কোডিং সিরিয়াল ভার্সনটি প্রতিবারই ক্লাসের ইন্টারফেস পরিবর্তিত হয়ে ম্যানুয়ালি আপডেট করতে হবে, এবং প্রতিবার ক্ষেত্র তালিকার পরিবর্তন হবে - অবিচ্ছিন্নভাবে, বিকাশকারীরা এটি করেন না কারণ তারা কেবল সিরিয়াল ভার্সন কী তা বুঝতে পারেন না। আপনি কোডটিতে এটি দেখার মূল কারণটি হল গ্রহনের কারণ।
সফটওয়্যার ইঞ্জিনিয়ার

উত্তর:


218
  • প্রেস Ctrl+ + Shift+ + A(ইন ম্যাক Command+ + Shift+ + A)
  • "অব্যবহৃত ডিক্লার" লিখুন
  • "অব্যবহৃত ঘোষণা" এ ডাবল ক্লিক করুন

সেটিংস পপ আপ হবে

  • জাভা / ডিক্লেয়ারেশন রিডানডেনসি / অব্যবহৃত ঘোষণায় ক্লিক করুন
  • ডান নীচে "ফ্লাই এডিটর সেটিংসে" নির্বাচন করুন
  • চেক ক্ষেত্রগুলি আনটিক করুন ..., পরামিতিগুলি পরীক্ষা করুন। শুধুমাত্র চেক ক্লাসে টিক দেওয়া উচিত।
  • ঠিক আছে টিপুন

সেটিংস বন্ধ হয়ে যায়

  • মেনুবারে, বিশ্লেষণ করুন / নাম দ্বারা চালানো পরিদর্শন (অথবা এ ক্লিক করুন Ctrl+ + Alt+ + Shift+ + I- এ ম্যাক Command+ + Option+ + Shift+ + I)
  • "অব্যবহৃত ঘোষণা" পাঠ্য প্রবেশ করান
  • "অব্যবহৃত ঘোষণার জাভা | ঘোষণা রিডানডেন্সি" নির্বাচন করুন

অনুসন্ধান শুরু হয়

  • আইডিয়ার নীচে জব স্টেটটি পরীক্ষা করে শেষ করুন: ফলাফলগুলি এবং মেসড কোড পরিষ্কার করার দুর্দান্ত অনুভূতি উপভোগ করুন। :)

বেশ কয়েকটি প্রশ্নের কাছে কয়েক মিনিটের মধ্যে প্রায় একই উত্তর পোস্ট করা, তাদের মধ্যে একটির অন্যটির সদৃশ হওয়ার পরামর্শ দিন। তাদের হিসাবে চিহ্নিত করুন।
জাপ

3
এর মধ্যে একটি বিশেষত ইন্টেলিজ আইডিয়া ব্যবহারের জন্য, অন্যটি সাধারণ জাভার জন্য। আমি বলব না যে এগুলি সদৃশ।
ব্লন্ডকোড

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

6
স্টুডিও 3.0.০ এ পরিবর্তন আছে কেবলমাত্র চেক ক্লাসের বিকল্পটি পদক্ষেপের পরে আসে: "অব্যবহৃত ঘোষণার জাভা | ঘোষণার রিডানডেন্সি" নির্বাচন করুন
সৌরভ সালদী

4
বিভিন্ন পরামিতি সহ পরিদর্শন চালাতে আমাদের বৈশ্বিক সেটিংস পরিবর্তন করার দরকার নেই। নাম কর্মের দ্বারা চালিত পরিদর্শন পরিদর্শনটির জন্য সেটিংস পপ আপ করবে।
TWiStErRob

11

আমি মনে করি না এটি করণীয়। আমি সন্দেহ করি যে এই বৈশিষ্ট্যটি আইডিইগুলি ইচ্ছাকৃতভাবে ছেড়ে দেওয়া হয়েছে কারণ এটি অন্যভাবে "অব্যবহৃত XXX অপসারণ" রিফ্যাক্টরিংগুলি যেভাবে পারে সেভাবে নিরাপদে ব্যবহার করা যায় না।

অব্যবহৃত ঘোষণাপত্র আইডিইএ (এবং এএফএআইকি, নেটবিয়ান) ব্যক্তিগত সদস্য এবং স্থানীয় ভেরিয়েবলগুলির জন্য দেখায়: যে জিনিসগুলি অ্যাক্সেসযোগ্য নয়, এমনকি গতিশীলভাবে, সেই শ্রেণি বা ক্ষেত্রের বাইরেও। (ভাল, কমপক্ষে প্রতিবিম্ব বা জেভিএম হ্যাকিংয়ের সাথে আপনার কাজ করার কথা না বলে কিছু না করেই)) বাইরের কোডটি আপনার লাইব্রেরির সাথে যা-ই করবে না কেন, এটি সেই জিনিসগুলিকে ব্যবহার করার কারণ ঘটায় না কারণ তাদের সুযোগটি সীমিত এবং আইডিই এটির সব দেখতে পারে। সংকলকটি কেবল আপনার কোড দেখে এটি নির্ধারণ করতে পারে।

ক্লাসগুলির জন্য public, তাদের অ্যাক্সেস না থাকলেও , তাদের সাথে ডায়নামিকভাবে রেফারেন্স দেওয়া যেতে পারে Class.forName(), এবং এটি লাইভ কোডে আসলে ঘটে। সুতরাং এগুলি আপনার প্রকল্পের কোডের মধ্যে দৃশ্যত ব্যবহার না করা হলেও, আপনার গ্রন্থাগারটি কী ব্যবহার করে তা আপনি বা বাহ্যিক কোডের উপর নির্ভর করে সেগুলি ব্যবহার করা যেতে পারে। সুতরাং IDE গ্যারান্টি দিতে পারে না যে এই শ্রেণিগুলি সরিয়ে নেওয়া বাহ্যিকভাবে পর্যবেক্ষণযোগ্য আচরণে পরিবর্তন ঘটবে না।

এই কারণেই আমি মনে করি আইডিইএ কেবল এই আচরণ দেয় না: এটি ব্যবহারকারীদের সুরক্ষার জন্য মিথ্যা প্রত্যাশা দিতে পারে এবং সেগুলি অপসারণ কোনও নিরাপদ রিফ্যাক্টরিং নয়।


6
ভাল, আসলে ফাইলটি দেখার সময় এটি শ্রেণীর নামটি ধূসর করে দেয় এবং আপনাকে "অব্যবহৃত শ্রেণি অপসারণ" করার উদ্দেশ্যে একটি ক্রিয়া দেয়, যা অনুপস্থিত তা হ'ল স্বয়ংক্রিয়ভাবে এটি সন্ধান করতে সক্ষম হয়। অবশ্যই কিছু উপায় রয়েছে যা জিনিসগুলিকে ভেঙে ফেলতে পারে তবে এটি অনেকগুলি রিফ্যাক্টরিংয়ের ক্ষেত্রে সত্য।
রব ফ্লেচার

2
ক্লাস.ফোর্নাম () বিশ্লেষণের সুরক্ষার দিক থেকে কোনও শ্রেণিতে ব্যক্তিগত ক্ষেত্রগুলি পড়ার / সেট করার প্রতিচ্ছবি ব্যবহার করার চেয়ে তাত্পর্যপূর্ণ কোনও আলাদা নয়। সুতরাং যদি ইন্টেলিজ এই ক্ষেত্রগুলির জন্য এটি করে, এটি কেন এটি ক্লাসের জন্য এটি করবে না এটির জন্য এটি একটি গ্রহণযোগ্য উত্তর নয়। উভয় ক্ষেত্রেই বিশ্লেষণের ফলাফলটি নিরাপদ থাকার 100% গ্যারান্টিযুক্ত নয়।
কুকুর 18

1

হতে পারে আপনি Unused Symbolনিম্নলিখিত সেটিংস সহ পরিদর্শনটি সন্ধান করা উচিত :

এখানে চিত্র বর্ণনা লিখুন


হা! দেখে মনে হচ্ছে না :-) আমি "অব্যবহৃত ঘোষণাপত্র" গোষ্ঠীর সমস্ত কিছু বন্ধ করে দিয়েছি এবং শুধুমাত্র "চেক ক্লাস" সহ "অব্যবহৃত প্রতীক" রেখেছি। কিন্তু ফলাফল পরিবর্তন হয় না। :-(
চেরি

@ চেরি, শুনে দুঃখিত ... সম্ভবত আপনার জেটব্রিনগুলিতে একটি ত্রুটি দায়ের করা উচিত
ভিক

1

আমি নিশ্চিত নই যে এটি আপনার প্রশ্নের জবাব দেবে কিনা তবে আমি প্রকল্পটিতে কোড পুনর্বিবেচনার নিয়ম চালানোর জন্য দৃti় হিসাবে একটি সরঞ্জাম ব্যবহার করেছি, যা অব্যবহৃত আমদানি, ডেড কোড, অব্যবহৃত শ্রেণি ইত্যাদির জন্য নির্দিষ্টভাবে নির্দেশ করে এটি একটি প্রদত্ত সফ্টওয়্যার তবে আমি আমি নিশ্চিত এখানে কিছু ফ্রি প্লাগইন / সফ্টওয়্যার উপলব্ধ থাকবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.