কিছু কোড পর্যালোচনা করার সময়, আমি জেনেরিকগুলি ব্যবহার করার জন্য এটি পরিবর্তন করার সুযোগটি লক্ষ্য করেছি। (অবরুদ্ধ) কোডটি দেখে মনে হচ্ছে:
public void DoAllTheThings(Type typeOfTarget, object[] possibleTargets)
{
var someProperty = typeOfTarget.GetProperty(possibleTargets[0]);
...
}
এই কোডটি জেনেরিকগুলি দ্বারা প্রতিস্থাপন করা যেতে পারে, যেমন:
public void DoAllTheThings<T>(object[] possibleTargets[0])
{
var someProperty = type(T).getProperty(possibleTargets[0]);
...
}
এই পদ্ধতির সুবিধা এবং ত্রুটিগুলি নিয়ে গবেষণা করতে গিয়ে আমি একটি শব্দ পেয়েছি যা জেনেরিক আপত্তি বলে । দেখুন:
- জেনারিকস থেকে নিরবিচ্ছিন্ন (বিকাশকারী) রক্ষা করা
- https://stackoverflow.com/questions/28203199/is-this-an-abuse-of-generics
- https://codereview.stackexchange.com/q/60695
আমার প্রশ্ন দুটি অংশে আসে:
- এর মতো জেনারিকগুলিতে যাওয়ার কোনও সুবিধা আছে কি? (পারফরম্যান্স? পঠনযোগ্যতা?)
- জেনেরিক্স অ্যাবিজ কী? এবং প্রতিবার কোনও ধরণের পরামিতি অপব্যবহারের পরে জেনেরিক ব্যবহার করছেন ?