এখানে stan4j থেকে কিছু জটিলতা মেট্রিক রয়েছে ।
একটি গ্রহন শ্রেণীর কাঠামো বিশ্লেষণ সরঞ্জাম।
আমি এই সরঞ্জামটি এবং মেট্রিকগুলি পছন্দ করি। আমি পরিসংখ্যান, সূচক, সতর্কতা বার্তা হিসাবে মেট্রিকগুলি বিবেচনা করি। কিছু কিছু পদ্ধতির কারণে বা কিছু শ্রেণির সত্যই কিছু জটিল যুক্তি তাদের জটিল করে তুলেছে, যা করা হবে তা তাদের উপর নজর রাখা, তাদের রিফ্যাক্টরের প্রয়োজন আছে কিনা তা দেখার জন্য তাদের পর্যালোচনা করুন বা সাধারণভাবে কারণে তাদের পর্যালোচনা করুন তারা ত্রুটিযুক্ত। আমি জটিল উত্স থেকে সহজ থেকে শিখতে পছন্দ করার কারণে এটি উত্স কোড শেখার জন্য বিশ্লেষণকারী সরঞ্জাম হিসাবেও ব্যবহার করি ctআসলে এটিতে রবার্ট সি মার্টিন মেট্রিক্স, চিদাম্বার এবং কেমেরার মেট্রিক্স, গণনা মেট্রিক্সের মতো আরও কিছু মেট্রিক অন্তর্ভুক্ত রয়েছে তবে আমি এটিকে সেরা পছন্দ করি best
জটিলতা মেট্রিক্স
সাইক্লোমেটিক জটিলতা মেট্রিক্স
সাইক্লোমেটিক কমপ্লেক্সিটি (সিসি)
কোনও পদ্ধতির চক্রবৃত্তীয় জটিলতা হ'ল পদ্ধতিটির নিয়ন্ত্রণ প্রবাহের গ্রাফের সিদ্ধান্তের পয়েন্টগুলির সংখ্যা দ্বারা বৃদ্ধি করা হয় mented বিবৃতি, কেস / ক্যাচ ক্লজ এবং অনুরূপ উত্স কোড উপাদানগুলি / যেখানে / নিয়ন্ত্রণের প্রবাহ কেবল লিনিয়ার না হলেও সিদ্ধান্তের পয়েন্টগুলি ঘটে। একক (উত্স কোড) বিবৃতি দ্বারা প্রবর্তিত (বাইট কোড) সিদ্ধান্ত পয়েন্টগুলির সংখ্যা পৃথক হতে পারে, উদাহরণস্বরূপ বুলিয়ান এক্সপ্রেশনগুলির জটিলতার উপর নির্ভর করে। কোনও পদ্ধতির সাইক্লোমেটিক জটিলতা মান যত বেশি হয়, পদ্ধতির নিয়ন্ত্রণ প্রবাহের গ্রাফের সমস্ত শাখা পরীক্ষা করার জন্য আরও পরীক্ষার কেসগুলির প্রয়োজন হয়।
গড় Cyclomatic জটিলতা
Cyclomatic জটিলতা গড় মান একটি অ্যাপ্লিকেশন, গ্রন্থাগার, প্যাকেজ গাছ বা প্যাকেজের সব পদ্ধতি উপর মেট্রিক।
ফ্যাট মেট্রিক্স
একটি আর্টিক্টের ফ্যাট মেট্রিক হস্তনির্মিতের একটি উপযুক্ত নির্ভরতা গ্রাফের প্রান্তগুলির সংখ্যা। নির্ভরতা গ্রাফের ধরণটি মেট্রিক বৈকল্পিক এবং নির্বাচিত শিল্পকর্মের উপর নির্ভর করে:
ফ্যাট
একটি অ্যাপ্লিকেশন, গ্রন্থাগার বা প্যাকেজ ট্রি এর ফ্যাট মেট্রিক তার সাবট্রি নির্ভরতা গ্রাফের প্রান্ত গণনা। এই গ্রাফটিতে প্যাকেজ ট্রি হায়ারার্কিতে সমস্ত আর্টিফ্যাক্টের বাচ্চাদের রয়েছে, যার ফলে পাতা প্যাকেজগুলিও অন্তর্ভুক্ত রয়েছে। (কম্পোজিশন ভিউতে উপযুক্ত গ্রাফটি দেখতে, স্ট্রাকচার এক্সপ্লোরারের ফ্ল্যাট প্যাকেজগুলি টগল অক্ষম করতে হবে chosen নির্বাচিত আর্টিক্টটি যদি কোনও লাইব্রেরি হয় তবে লাইব্রেরি টগল দেখান সক্ষম করতে হবে, অন্যথায় এটি অক্ষম করতে হবে))
কোনও প্যাকেজের ফ্যাট মেট্রিক তার ইউনিট নির্ভরতা গ্রাফের প্রান্ত গণনা count এই গ্রাফটিতে প্যাকেজের সমস্ত শীর্ষ স্তরের শ্রেণি রয়েছে।
কোনও শ্রেণীর ফ্যাট মেট্রিক তার সদস্য গ্রাফের প্রান্ত গণনা। এই গ্রাফটিতে শ্রেণীর সমস্ত ক্ষেত্র, পদ্ধতি এবং সদস্য শ্রেণি রয়েছে। (এই গ্রাফ এবং ফ্যাট মানটি কেবলমাত্র যদি বিশদ সদস্যের স্তরের সাথে বিশ্লেষণ করে কোড বিশ্লেষণ করা হয় তবে উপলব্ধ।)
লাইব্রেরি নির্ভরতাগুলির জন্য ফ্যাট (ফ্যাট - গ্রন্থাগারসমূহ)
কোনও অ্যাপ্লিকেশনের লাইব্রেরি নির্ভরতা মেট্রিকের ফ্যাট তার লাইব্রেরি নির্ভরতা গ্রাফের প্রান্ত গণনা। এই গ্রাফটিতে অ্যাপ্লিকেশনটির সমস্ত গ্রন্থাগার রয়েছে। (কম্পোজিশন ভিউতে উপযুক্ত গ্রাফটি দেখতে, স্ট্রাকচার এক্সপ্লোরারের শো লাইব্রেরি টগল সক্ষম করতে হবে))
ফ্ল্যাট প্যাকেজ নির্ভরতা জন্য ফ্যাট (ফ্যাট - প্যাকেজ)
কোনও অ্যাপ্লিকেশনের ফ্ল্যাট প্যাকেজ নির্ভরতা মেট্রিকের ফ্যাট তার ফ্ল্যাট প্যাকেজ নির্ভরতা গ্রাফের প্রান্ত গণনা। এই গ্রাফটিতে অ্যাপ্লিকেশনটির সমস্ত প্যাকেজ রয়েছে। (কম্পোজিশন ভিউতে উপযুক্ত গ্রাফটি দেখতে, স্ট্রাকচার এক্সপ্লোরারের ফ্ল্যাট প্যাকেজগুলি টগল সক্ষম করতে হবে এবং লাইব্রেরি টগল দেখান অক্ষম করতে হবে))
কোনও লাইব্রেরির ফ্ল্যাট প্যাকেজ নির্ভরতা মেট্রিকের ফ্যাট হ'ল এটির ফ্ল্যাট প্যাকেজ নির্ভরতা গ্রাফের প্রান্ত গণনা। এই গ্রাফটিতে গ্রন্থাগারের সমস্ত প্যাকেজ রয়েছে। (কম্পোজিশন ভিউতে উপযুক্ত গ্রাফটি দেখতে স্ট্রাকচার এক্সপ্লোরারের ফ্ল্যাট প্যাকেজস এবং লাইব্রেরি টগলগুলি সক্ষম করতে হবে))
শীর্ষ স্তরের শ্রেণি নির্ভরতাগুলির জন্য ফ্যাট (ফ্যাট - ইউনিট)
কোনও অ্যাপ্লিকেশন বা গ্রন্থাগারের শীর্ষ স্তরের শ্রেণি নির্ভরতা মেট্রিকের ফ্যাট তার ইউনিট নির্ভরতা গ্রাফের প্রান্ত গণনা। এই গ্রাফটিতে অ্যাপ্লিকেশন বা গ্রন্থাগারের শীর্ষ স্তরের সমস্ত শ্রেণি রয়েছে। (যুক্তিসঙ্গত অ্যাপ্লিকেশনগুলির জন্য এটি ভিজ্যুয়ালাইজ করা খুব বেশি বড় এবং সুতরাং এটি রচনা কাঠামোতে প্রদর্শিত হতে পারে না Unit ইউনিট নির্ভরতা গ্রাফগুলি কেবল প্যাকেজগুলির জন্য প্রদর্শিত হতে পারে))
the number of StyleCop warnings + 10 * the number of FxCop warnings + 2 to the power of the number of disabled warning types
। কেবলমাত্র সেই মেট্রিকের মান যতটা সম্ভব ছোট হওয়ার পরে, কোডটি (আমার মতে) পর্যালোচনা করা কোনও মানুষের পক্ষে কি উপযুক্ত? সংক্ষেপে: সরল কৌশলগুলির চেয়ে সূক্ষ্ম সরঞ্জামগুলি কোডের মান উন্নত করতে সহায়তা করতে পারে। যদিও এটি সম্ভবত অফ-টপিক।