আমাদের সফ্টওয়্যারটির বেশ কয়েকটি ক্লাস রয়েছে যা প্রতিচ্ছবি দ্বারা গতিশীলভাবে পাওয়া উচিত। ক্লাসগুলির সকলের একটি নির্দিষ্ট স্বাক্ষর সহ একটি কনস্ট্রাক্টর থাকে যার মাধ্যমে প্রতিবিম্ব কোডটি বস্তুগুলি ইনস্ট্যান্ট করে।
যাইহোক, যখন কেউ পদ্ধতিটি রেফারেন্স করা হয়েছে কিনা তা পরীক্ষা করে (উদাহরণস্বরূপ ভিজ্যুয়াল স্টুডিও কোড লেন্সের মাধ্যমে), প্রতিবিম্বের মাধ্যমে রেফারেন্স গণনা করা হয় না। লোকেরা তাদের রেফারেন্স মিস করতে পারে এবং দৃশ্যত অব্যবহৃত পদ্ধতিগুলি মুছে ফেলতে (বা পরিবর্তন) করতে পারে।
প্রতিস্থাপনের মাধ্যমে ডাকা আমাদের উদ্দেশ্যে কীভাবে আমাদের নথি / দস্তাবেজ পদ্ধতিগুলি চিহ্নিত করতে হবে?
আদর্শভাবে, পদ্ধতিটি এমনভাবে চিহ্নিত করা উচিত যাতে সহকর্মী এবং ভিজ্যুয়াল স্টুডিও / রোজলিন এবং অন্যান্য স্বয়ংক্রিয় সরঞ্জামগুলি 'দেখুন' যে পদ্ধতিটি প্রতিবিম্বের মাধ্যমে আহ্বান জানাতে চাইছিল।
আমি দুটি বিকল্প জানি যা আমরা ব্যবহার করতে পারি তবে উভয়ই সন্তুষ্ট নয়। যেহেতু ভিজ্যুয়াল স্টুডিও রেফারেন্সগুলি খুঁজে পাচ্ছে না:
- একটি কাস্টম অ্যাট্রিবিউট ব্যবহার করুন এবং এই অ্যাট্রিবিউট দিয়ে কনস্ট্রাক্টরকে চিহ্নিত করুন।
- একটি সমস্যা হ'ল অ্যাট্রিবিউট বৈশিষ্ট্যগুলি কোনও পদ্ধতি রেফারেন্স হতে পারে না, সুতরাং নির্মাতা এখনও 0 টি রেফারেন্স হিসাবে দেখায়।
- কাস্টম বৈশিষ্ট্যের সাথে পরিচিত নয় এমন কলেজগুলি সম্ভবত এটিকে উপেক্ষা করবে।
- আমার বর্তমান পদ্ধতির একটি সুবিধা হ'ল প্রতিচ্ছবি অংশটি যে কন্ট্রাক্টরকে কল করতে হবে তা সন্ধান করতে বৈশিষ্ট্যটি ব্যবহার করতে পারে।
- দলিল করার জন্য মন্তব্যগুলি ব্যবহার করুন যে কোনও পদ্ধতি / কনস্ট্রাক্টর প্রতিবিম্বের মাধ্যমে ডাকা উচিত।
- স্বয়ংক্রিয় সরঞ্জামগুলি মন্তব্যগুলিকে উপেক্ষা করে (এবং সহকর্মীরাও এটি করতে পারে)।
- Xml ডকুমেন্টেশন মন্তব্য ভিসুয়াল স্টুডিও পদ্ধতি / কন্সট্রাকটর একটি অতিরিক্ত রেফারেন্স গণনা আছে ব্যবহৃত করা যেতে পারে:
দিনMyPlugin
বর্গ যার কন্সট্রাকটর প্রতিফলন মাধ্যমে ডাকা হবে। ধরুন যেint
পরামিতি গ্রহণকারী কনস্ট্রাক্টরদের জন্য আমন্ত্রণমূলক প্রতিচ্ছবি কোড অনুসন্ধানগুলি । নিম্নলিখিত ডকুমেন্টেশনগুলি কোড লেন্সটি কনস্ট্রাক্টরকে 1 রেফারেন্সযুক্ত দেখায়:
/// <see cref="MyPlugin.MyPlugin(int)"/> is invoked via reflection
কোন ভাল বিকল্প বিদ্যমান?
কোন পদ্ধতি / নির্মাণকারীকে চিহ্নিত করার জন্য সেরা-অনুশীলন কী যা প্রতিবিম্বের মাধ্যমে ডাকে?