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