রুটিনটি কতটা সংগত হয় এবং একই কোড বেসের অন্যান্য কোডের সাথে রুটিনটি কতটা আলগাভাবে (বা শক্তভাবে) মিলিত হয় তা পরিমাপ করার জন্য ম্যাককেবে কমপ্লেক্সিটি মাপের একটি মেট্রিক অ্যানালাসাস রয়েছে কি ?
রুটিনটি কতটা সংগত হয় এবং একই কোড বেসের অন্যান্য কোডের সাথে রুটিনটি কতটা আলগাভাবে (বা শক্তভাবে) মিলিত হয় তা পরিমাপ করার জন্য ম্যাককেবে কমপ্লেক্সিটি মাপের একটি মেট্রিক অ্যানালাসাস রয়েছে কি ?
উত্তর:
আমি মনে করি আপনি যে মেট্রিকটির সন্ধান করছেন সেটি LCOM4, যদিও এটি ক্লাসে আরও বেশি প্রযোজ্য।
সোনার এখানে সুন্দরভাবে ব্যাখ্যা করেছেন :
... মেট্রিক: একত্রীকরণ ক্লাসগুলি কীভাবে তা পরিমাপ করতে LCOM4 (সংহত পদ্ধতির অভাব) এই মেট্রিকটির ব্যাখ্যা করা খুব সহজ কারণ মান 1 এর অর্থ একটি শ্রেণীর কেবলমাত্র একটি দায়িত্ব (ভাল) এবং দশম মানের অর্থ একটি শ্রেণীর সম্ভবত এক্সের দায়িত্ব (খারাপ) থাকে এবং এটি রিফেক্টর / স্প্লিট হওয়া উচিত।
এখানে কোনও যাদু নেই, কেবল সাধারণ জ্ঞান। ক্লাস ড্রাইভার সহ একটি সাধারণ উদাহরণ গ্রহণ করি। এই শ্রেণীর দুটি ক্ষেত্র রয়েছে: গাড়ি এবং মস্তিষ্ক এবং পাঁচটি পদ্ধতি: ড্রাইভ (), GoTo (), স্টপ (), getAngry () এবং পানীয়কফি ()। এই উপাদানগুলির মধ্যে নির্ভরতা গ্রাফ এখানে। সম্পর্কিত উপাদানগুলির তিনটি ব্লক রয়েছে, সুতরাং LCOM4 = 3, সুতরাং বর্গের মনে হয় তিনটি পৃথক দায়িত্ব রয়েছে এবং একক দায়িত্বের নীতিটি ভেঙে যায়।
...
এটি দুর্দান্ত সরঞ্জাম, যদি আপনি এটি ব্যবহার করতে পারেন। :)
brain.setAngry(driver)
? car.applyBreaks(driver)
?
অস্থিরতা বিভিন্ন কোড মেট্রিক সরঞ্জামগুলিতে সমর্থিত।