কোড পর্যালোচনা প্রক্রিয়াটির কার্যকারিতা কীভাবে নির্ধারণ করবেন?


14

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

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

কোড পর্যালোচনাগুলি পরিমাপে কোনটি ভাল কাজ করে সে সম্পর্কে এর আগে কি কেউ এই ইস্যুটি নিয়ে এসেছেন বা তার কোনও চিন্তাভাবনা আছে?


7
বাগ পর্যালোচনা কেবল কোড পর্যালোচনার উদ্দেশ্য নয়। এগুলি কোডিং মানগুলি, ক্রস প্রশিক্ষণ, ধারণা এবং প্রযুক্তিগুলির ক্রস পরাগায়িতকরণ ইত্যাদির জন্যও কার্যকর
জেসন

ধন্যবাদ জেসন এবং বুঝতে পেরেছি, তবে এই ক্ষেত্রে আমি কীভাবে প্রক্রিয়াটি

@ জনভ ২০২০ যদিও এটি এর মূল লক্ষ্য নয় ... আপনি একটি কোড পর্যালোচনার বিন্দুটি পুরোপুরি মিস করেছেন। এটি জেট বিমানের বহরে একটি দুর্দান্ত নতুন সুরক্ষা বৈশিষ্ট্য রাখার মতো হবে, তারপরে ক্র্যাশের সংখ্যার ভিত্তিতে এর কার্যকারিতা বিচার করার চেষ্টা করবে। সুরক্ষা বৈশিষ্ট্যটি ক্র্যাশ সংঘটিত না হওয়ার প্রতিক্রিয়াগুলির উন্নতি করেছে যে কোনও দাবি সঠিকভাবে করার জন্য বিবেচনা করার জন্য অনেকগুলি ভেরিয়েবল এবং অন্যান্য কারণ রয়েছে।
maple_shaft

@ ম্যাপেল_শ্যাফ্ট: দুর্বল উপমা। বাগের হারগুলি গজানোর চেষ্টা করা ক্রাশ থেকে মৃত মানুষের জন্য ব্যবহৃত কফিনের সংখ্যা পরিমাপ করার চেষ্টা করার মতো।
এস .লট

1
আমি যে সমস্ত কোড পর্যালোচনাগুলিতে অংশ নিয়েছি, সেগুলিতে ইউনিট এবং উচ্চ-স্তরের পরীক্ষায় ইতিমধ্যে অনেকগুলি বাগ ঠিক করা হয়েছে। এটি হ'ল কোডটি পর্যালোচনার জন্য প্রস্তুত নয় কারণ এটি সংকলন করে।
পিট উইলসন

উত্তর:


7

কোড পর্যালোচনা থেকে সংগ্রহ করা যেতে পারে এমন অনেকগুলি মেট্রিক রয়েছে, কিছু কিছু এমনকি প্রকল্পের আজীবন প্রসারিত।

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

বিভিন্ন মিটিং মেট্রিকগুলি প্রাসঙ্গিকও হবে। এর মধ্যে প্রস্তুতির সময়, বৈঠকের সময়, কোড পঠনের লাইন, পর্যালোচনায় পাওয়া ত্রুটিগুলি এবং আরও রয়েছে। এই তথ্য থেকে কিছু পর্যবেক্ষণ করা যেতে পারে। উদাহরণ হিসাবে হ'ল যদি আপনার পর্যালোচকরা পর্যালোচনার প্রস্তুতির জন্য কোডটি পড়তে প্রচুর পরিমাণে ব্যয় করে তবে খুব কম সমস্যা খুঁজে পাওয়া যায়। ডিআরই ডেটার সাথে মিলিত, আপনি এই উপসংহারটি আঁকতে পারেন যে যদি ইন্টিগ্রেশন টেস্টে বা ফিল্ডে ত্রুটিগুলি পরীক্ষা করা হয়, তবে সমস্যা খুঁজে পেতে সক্ষম হওয়ার জন্য আপনার দলের তাদের পর্যালোচনা কৌশলগুলিতে মনোনিবেশ করা উচিত। আর একটি আকর্ষণীয় নোট হ'ল সভার সময়ের তুলনায় একটি সভায় কোডের লাইনগুলি (বা অন্য কোনও আকারের পরিমাপ) পড়ে read গবেষণায় দেখা গেছে যে একটি আদর্শ কোড পর্যালোচনার গতি প্রতি ঘন্টা 150 লাইন কোড।

এগুলির যে কোনও মেট্রিকের সাথে, প্রক্রিয়াটির উপর তাদের প্রভাবটি বোঝা গুরুত্বপূর্ণ। কোড রিভিউ (বা অন্য কোনও মানের উন্নতি কৌশল) কার্যকর (কেন) কার্যকর করার কারণগুলি সনাক্ত করার জন্য মূল কারণ বিশ্লেষণ, কেন-কারণ , পাঁচ হুইস বা Ishশিকওয়া ডায়াগ্রামগুলি ব্যবহার করে এমন কৌশলগুলি ব্যবহার করে ।

আপনি দ্য গ্যানসেল গ্রুপের পরিদর্শন এবং ক্রোস্টাল্টে ক্যাপার্স জোন্স-এর ডিফেক্ট পটেনশিয়ালস এবং ডিআরই সম্পর্কিত একটি নিবন্ধ সম্পর্কেও এই নিবন্ধে আগ্রহী হতে পারেন ।


2

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

এটি বলার পরে, আমি সত্যিই জিজ্ঞাসা করব, কেন কেউ কোড পর্যালোচনা করতে চান? কেন এটি গুরুত্বপূর্ণ তা সহজ কারণ হ'ল কোডটি আরও পঠনযোগ্য, রক্ষণাবেক্ষণযোগ্য এবং বিকাশযোগ্য করার জন্য উন্নত করা উচিত। অনেকের ক্লিনার কোড পড়তে সক্ষম হওয়া উচিত এবং এ থেকে তা বোঝা উচিত। সেই অর্থে, কোড পর্যালোচনা প্রক্রিয়াটির সহজ উদ্দেশ্যটি হল পরিষ্কার কোড তৈরি করা। কার্যকারিতাটির পরিমাপটি কোডটি এখন কতটা পরিষ্কার।

আপনি যেমন একটি পরিমাপযোগ্য কার্যকারিতা রাখতে চেয়েছিলেন - আমি এখানে যা পরামর্শ দেব তা হল:

  1. পুনর্নির্মাণের পরিমাণের সাথে সম্পর্কিত মেট্রিক - একই প্রদত্ত মডিউল / অবজেক্ট / কাজের আইটেমে পুনর্নির্মাণের সময় প্রয়োগ হওয়ার পরিমাণটি সেই কোডটি রক্ষণাবেক্ষণের ক্ষেত্রে কতটা দরিদ্র তা একটি পরিমাপ । কার্যকর কোড-রিভিউ প্রয়োগ করা হয়, একই মডিউলে আমরা কতবার পুনরায় কাজ করার অনুরোধটি হ্রাস করতে পারি?

  2. প্রতিটি পরিবর্তনের অনুরোধ পরিবর্তিত পরিমাণের সাথে সম্পর্কিত মেট্রিক। প্রতিবার পরিবর্তনের অনুরোধটি যখন আসে - একটি দুর্বল ফ্যাক্টর কোডটি সর্বদা বৃহত সংখ্যক মডিউলগুলিতে প্রভাবিত হয়। একটি পরিমাপ সম্ভবত নির্দেশ করবে একটি কোড পর্যালোচনার পরে যে - একটি ছিল যে এই ধরনের কোন হ্রাস বিস্তার অতীতে একটি অনুরূপ পরিবর্তন অনুরোধের জন্য পরিবর্তনের?

  3. গড় গতির সাথে সম্পর্কিত মেট্রিক যা দিয়ে পরিবর্তনের অনুরোধটি সাড়া দেওয়া যেতে পারে। কোডটি ক্লিনার হওয়ার পরে - প্রয়োজনীয় পরিবর্তনগুলিতে সাড়া দেওয়া দ্রুত এবং ভাল। পর্যালোচনা প্রক্রিয়ায় কোডটি পরিষ্কার হওয়ার পরে, মর আমরা একই আকারের অনুরোধটির প্রতিক্রিয়া জানাতে কোনও গতি পাই find

আমি ব্যবস্থার সঠিক ইউনিট রাখছি না - আপনি সম্ভবত এই পদ্ধতির থেকে এ সম্পর্কে আরও সঠিক পরিমাপের কারুকাজ করতে পারেন। এটি সম্পর্কে উপরোক্ত পদ্ধতির আরও বর্ধিতাংশ আনুষ্ঠানিকতা হতে পারে।

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


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

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

... সমস্যা। কোড রিভিউগুলি প্রচারকারী যে ম্যানেজারের সফল রক্ষণাবেক্ষণ প্রকল্পগুলি থাকবে কিন্তু মূল পরিচালনাকারীর মতো সময় মতো / ইন-বাজেট শেষ না করায় পুনরায় নামকরণ করা হবে who OTOH, যদি কোড পর্যালোচনাগুলি ত্রুটিগুলি খুঁজে পেতে সহায়তা করে যে পর্যালোচনার অভাব নেই এবং কোড পুনর্বিবেচনা পরিচালককে তার প্রকল্পটি আরও সময়োচিত / ইন-বাজেটে সম্পূর্ণ করতে দেয় তবে এটি আলাদা গল্প story সেই গল্পটিই বিক্রি করা দরকার। যার অর্থ হ'ল ক্লিন কোড কোড পর্যালোচনার কারণ হতে পারে না।
ডাঙ্ক

@ ডাঙ্ক একটি কোড পর্যালোচনার মূল্য কোড পর্যালোচনার ধরণের উপর নির্ভর করে। 3-5 পাঠক, একজন মডারেটর এবং লেখকের উপস্থিতি (একটি ঘরে 5-7 জন) সহ একটি আনুষ্ঠানিক পরিদর্শন ব্যয়বহুল। একটি ডেস্ক চেক যা অন্য বিকাশকারীকে 10-15 মিনিটের জন্য কোডের উপর ঝলক দিয়ে থাকে সেগুলিও একটি কোড পর্যালোচনা, তবে অনেক কম আনুষ্ঠানিক এবং অনেক কম সস্তা। এমনকি জোড় প্রোগ্রামিংকেও "কোড রিভিউ" কৌশল হিসাবে বিবেচনা করা যেতে পারে। উপযুক্ত কৌশলটি কোডের সমালোচনা, পছন্দসই ত্রুটিযুক্ত হার এবং বিনিয়োগের সময় / অর্থের পরিমাণ সহ (তবে সীমাবদ্ধ নয়) সহ কারণ দ্বারা নির্ধারিত হয়।
টমাস ওয়ানস

@ ডাঙ্ক - আমি মনে করি আপনি প্রকল্প পরিচালকের হাত থেকে "আমাদের উচিত উচিত রিভিউ কোড" সিদ্ধান্ত নেওয়ার এবং সফটওয়্যার প্ল্যাটফর্মের দীর্ঘমেয়াদী দায়িত্বে থাকা পরিচালকের হাতে রেখে দেওয়ার জন্য আপনি একটি যুক্তি তৈরি করেছেন। আইএমও, সাধারণভাবে বলতে গেলে, শালীন কোড পর্যালোচনার জন্য বিকাশের জন্য অতিরিক্ত 5-10% ব্যয় করা সিস্টেমটির দীর্ঘায়ু হিসাবে বিবেচ্য হওয়া উপযুক্ত বিনিয়োগ। তবে সম্ভবত বর্তমান প্রকল্পের বাজেট এবং সময়রেখার সাথে নয়।
দাউদ বলেছেন মনিকা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.