অপ্রয়োজনীয় তথ্যসূত্র এবং ব্যবহারের পরিণতিগুলি কী কী?


12

আমি কিছুটা ঝরঝরে ঝাঁঝরা হয়েছি usingএবং প্রতিটি প্রকল্পে রেফারেন্সগুলি পরিষ্কার করে আমার প্রকল্পগুলি রাখার ঝোঁক রয়েছে যা কেবলমাত্র ব্যবহৃত হয় তা রাখার জন্য।

প্রয়োজনীয় জিনিসগুলি রাখার জন্য আমি (আমার ওসিডি নার্ভকে শান্ত করার পাশাপাশি) আর কী যুক্তি দিতে পারি? আমি বেশিরভাগ সিস্টেমে রেফারেন্স ভাবছি, কাস্টম কাজের কোনও রেফারেন্স তার প্রচুর পিছনে সামঞ্জস্যতার সমস্যা নিয়ে আসবে। মুক্তির পদচিহ্ন কি আরও বড়? দীর্ঘ সময় কমপ্লেইন করবেন?


5
লক্ষ্য করুন যে usingগুলি এবং রেফারেন্সগুলি একই জিনিস নয়। অনেক উত্তর সেটিকে বিবেচনায় নিতে ব্যর্থ হয়।
ফোগ

1
আপনি যদি কোডটি পরিষ্কার রাখতে চান এবং ন্যূনতমভাবে ব্যবহার করতে চান তবে রিসার্পার কেনার বিষয়টি বিবেচনা করুন। ভিজ্যুয়াল স্টুডিওতে আশ্চর্যজনক এক্সটেনশন। আমি ছাড়া বাঁচতে / প্রোগ্রাম করতে পারি না। ;-)
আন্ডারস

উত্তর:


13

আপনি যদি usingন্যূনতম রাখেন তবে ইন্টেলিজেন্স আপনার জন্য অনেক বেশি উপকারী একটি হ্যাক হবে এবং এটি একটি দুর্দান্ত সুবিধা।

তা ছাড়া আর কোনও লাভ আছে বলে আমি মনে করি না। সুতরাং সম্ভবত সি # সংকলক দ্রুত কাজ করবে, বলুন, 1%; তাতে কি.


1
এই 1% এর সংশ্লেষক মানটি যথেষ্ট ... তবে মৌলিকভাবে আপনি সংকলকটি যে কোনও সমস্যা দূরে অপ্টিমাইজ করার আশা করতেন। তবে সহজভাবে পরিপাটি করে আমার কোনও সমস্যা নেই
মারফ

সি # ইন্টেলিসেন্স ২০০৫ সাল থেকে যাইহোক কিছুটা অগোছালো হয়ে পড়েছে, যখন তারা একেবারে সমস্ত কিছু তালিকায় ফেলে দিতে শুরু করে।
রেই মিয়াসাকা

@ রিয়িমিয়াসাকা যাতে আপনি যা চান তার জন্য ইন্টেলিসেন্স পান এবং তারপরে Ctrl+."নেমস্পেস যুক্ত করুন XYZ"
কিজেক্স ২২

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

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

9

যেহেতু এটি ভিজ্যুয়াল স্টুডিওতে সাধারনত তুচ্ছ (সাধারণ রাইট ক্লিক), কেন এটি করবেন না?

এটি ওসামের রেজারের সাথে সামঞ্জস্যপূর্ণ , এটি কেবল সাধারণ প্রকৌশল engineering

এটি না করার পরিণতি হিসাবে, যদি অন্য কোনও বিকাশকারী আপনার প্রকল্পটি খোলার চেষ্টা করে তবে কী ঘটে তা বিবেচনা করুন এবং এতে তার / তার কম্পিউটারে নেই এমন একটি লাইব্রেরির একটি (অব্যবহৃত) উল্লেখ রয়েছে। এখন যে দরিদ্র বিকাশকারীকে সেই অমীমাংসিত রেফারেন্সটি কেন বিদ্যমান এবং এটি সম্পর্কে কী করা উচিত তা খুঁজে বের করা দরকার।

আপনি যদি পছন্দ করেন তবে এটি সোনার নিয়মের বিবেচনা করুন। আপনি কি এমন একটি প্রকল্পের বিকাশ নিতে চান যেটিতে আপনার কম্পিউটারে গ্রন্থাগারগুলির প্রচুর উল্লেখ রয়েছে এবং সেগুলি কেন রয়েছে তা আপনার কোনও ধারণা নেই?


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

6

usingবিবৃতিগুলি কেবল সংকলককে পুরোপুরি রেফারেন্স ক্লাসে সক্ষম করতে সক্ষম হয়, ইত্যাদি অতিরিক্ত usingবিবৃতি সংকলনের সময়টিতে কোনও প্রশংসনীয় প্রভাব ফেলবে না।

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

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


এর ব্যবহার সাফ করা ভিএস 2010 এর একটি অন্তর্নির্মিত বৈশিষ্ট্য (আমার মনে হয় ২০০৮ও)। এবং রেসার্পার রেফারেন্সগুলিও করতে পারে। তবে হ্যাঁ, আমি যে কোনও বড় আকারের ক্লিনআপ শুরু করার আগে, আমার জন্য এটি করার জন্য একটি সরঞ্জাম ব্যবহার করার চেষ্টা করব।
এমপিলেটিয়ার

অব্যবহৃত usingও অব্যবহৃত রেফারেন্সের মধ্যে স্পষ্টভাবে পার্থক্য প্রকাশ করার জন্য +1 । দুই খুব ভিন্ন!
ফুগ

1

উপরের পাশাপাশি, আমি অনুমান করি যে এটি এখনও এখানে উল্লেখ করা হয়নি যে, প্রতিটি রেফারেন্সের জন্য .NET কাঠামোর মধ্যে বা বাহ্যিক ডিএলএল এর মধ্যে একটি উপাদান প্রয়োজন। যদি কোনও বাহ্যিক ডিএলএল-তে রেফারেন্স তৈরি করা হয় তবে আপনার যখন সফটওয়্যারটি (এবং কোথায়) চালাবেন তা আপনার দরকার।

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


1
যদি রেফারেন্সটি অব্যবহৃত থাকে, আপনি কখন এবং কোথায় সফ্টওয়্যারটি চালাবেন আপনার ডিএলএল প্রয়োজন হবে না।
ফুগ

@ ফুগ, আপনার মন্তব্যের জন্য ধন্যবাদ কমপক্ষে .NET VS2010 এ, আপনি যদি ম্যানুয়ালি সমাধানটির জন্য কোনও রেফারেন্স যুক্ত করেন তবে ডিএলএল শারীরিকভাবে বিন ফোল্ডারে যুক্ত হয় যদিও আপনি কোডটিতে এটি ব্যবহার না করেন।
NoChance

1
তবে, আপনি যদি বিন ফোল্ডার থেকে ডিএলএল মুছে ফেলেন বা ডিএলএল ছাড়াই অ্যাপ্লিকেশন প্রকাশ করেন তবে অ্যাপ্লিকেশনটি এখনও চালানো উচিত।
ফগ

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