কোড পর্যালোচনা ইউনিট পরীক্ষার আগে বা পরে সম্পাদন করা উচিত


10

কোড পর্যালোচনা কখন করা হবে - ইউনিট পরীক্ষার আগে বা তার পরে আমি আমার সহকর্মীর সাথে বিতর্ক করছি। সেরা অনুশীলন কি?

আমাদের কিছু বিষয় বিবেচনায় নিতে হবে (আরও কিছু থাকতে পারে):

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

আমি ব্যক্তিগতভাবে মনে করি না যে দুজন একে অপরের উপর এতটা নির্ভরশীল। বিকাশকারীদের কেবলমাত্র সম্পূর্ণ কোডটি পর্যালোচনা করা উচিত, কারণ এটি অসম্পূর্ণ হতে পারে বা প্রত্যাশা অনুযায়ী কাজ না করে।
লয়েড পাওয়েল

উত্তর:


20

কোড পর্যালোচনা করার আগে আপনার সর্বদা ইউনিট পরীক্ষা করা উচিত এবং কেন তা এখানে

  1. যদি আপনার কোডটি এমনভাবে ভেঙে যায় যা ইউনিট পরীক্ষায় ধরা পড়ে তবে আপনি অন্যান্য বিকাশকারীকে লাল / সবুজ / রিফ্যাক্টর চক্রের সাথে জড়িত করে সময় নষ্ট করবেন।
  2. পরীক্ষাগুলি অন্য বিকাশকারীদের কোডটির উদ্দেশ্যযুক্ত ব্যবহার দেখায় যা পর্যালোচনা করা আরও সহজ করে তোলে।
  3. আপনি পরীক্ষার কেস হারিয়ে ফেলছেন বা আপনার পরীক্ষাগুলি সঠিকভাবে কাজ না করছে সে ক্ষেত্রে টেস্টগুলি কোডের সাথে পর্যালোচনা করা উচিত।
  4. পরীক্ষাগুলি এবং কোড পর্যালোচনাগুলি খুঁজে পাওয়া সমস্যাগুলিতে কেবলমাত্র একটি সামান্য ওভারল্যাপ দিয়ে বিভিন্ন সমস্যা ধরার ঝোঁক। ইউনিট টেস্টগুলি কোডটি পরীক্ষা করার সময় বিরক্ত হয় না যখন পর্যালোচক সমস্যাগুলি খুঁজে পান, বিকাশকারীরা বিরক্ত হন এবং সম্ভবত দ্বিতীয়বারের মতো এটি করেন না।

সম্ভবত অন্যান্য কারণ রয়েছে তবে সেগুলি হ'ল আমি ব্যক্তিগতভাবে দেখেছি এবং 3 টি বিভিন্ন টিম / সংস্থার মধ্যে কোড পর্যালোচনা অনুশীলনগুলি প্রয়োগ করেছি।

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


11

কোড পর্যালোচনাগুলি যখন কোড "সম্পন্ন" হয় তখন।

আমার সংস্থায় আমাদের "সম্পন্ন" সংজ্ঞাটি ইউনিট পরীক্ষাগুলি অন্তর্ভুক্ত করে (যেমনটি আমরা টিডিডির জন্য লক্ষ্য করি) সুতরাং কোড পর্যালোচনাগুলি সম্পূর্ণ কোডের হয় - এবং সম্পূর্ণ কোডে পরীক্ষাগুলি অন্তর্ভুক্ত থাকে।

এছাড়াও, পরীক্ষাগুলি পর্যালোচনা এবং পুনর্নির্মাণের প্রয়োজন যাতে এটি বোঝা যায় যে তারা কোড পর্যালোচনার অংশ।


কোডটির জন্য ইউনিট পরীক্ষাগুলি লেখার আগে কোডটিতে কোড পর্যালোচনা করা কি বোধগম্য নয়?
ডিম্বা

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

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

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

4

পরীক্ষাগুলি পর্যালোচনা করার জন্য কোডের অংশ হিসাবে বিবেচনা করা উচিত। সুতরাং পরীক্ষাগুলি সম্পন্ন হওয়ার পরে পর্যালোচনা করা বুদ্ধিমানের কাজ।

পরীক্ষাও পর্যালোচনা করা হয়েছে তা নিশ্চিত করুন। যারা ইউনিট পরীক্ষায় নতুন।

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

আপনার উপরোক্ত বিষয়গুলি প্রয়োগ করার দরকার নেই, তবে আপনার সেগুলি বোঝা উচিত।


2

আমরা হব,

এটি "ইউনিট টেস্ট" বলতে কী বোঝায় তার উপর নির্ভর করে ...

এটি যদি টিডিডি স্টাইলের ইউনিট টেস্ট হত তবে তা অর্থহীন কারণ আপনি নিজের কোডটি লেখার সময় পরীক্ষা লেখেন। পরে কোনও মামলা নেই this এই ক্ষেত্রে আপনি ক্রমাগত কোডের মান উন্নতি করেন: রিফ্যাক্টরিং ...

এবং

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

তবে ব্যক্তিগতভাবে, কোডরিভিউয়ের জন্য, পরে বা পরে ইউনিট পরীক্ষা করা আমার পক্ষে সত্যিকারের মানদণ্ড নয় ...

কেন আমরা কোডরিভিউ করি? কোড মানের জন্য ... "মানের নিয়ন্ত্রণ" গেটের পরিবর্তে, আপনার সফ্টওয়্যার বিকাশ প্রক্রিয়া-পরিবেশে মানের ইনজেকশন করুন ...


@উত্তরের জন্য ধন্যবাদ. সম্ভবত আমি পরিষ্কার ছিলাম না, তবে আমি কোড পর্যালোচনাটিকে কোনও প্রকারের "মানের নিয়ন্ত্রণ" গেট হিসাবে উল্লেখ করি না। উন্নয়নের গতি / মানের দিক দিয়ে আমি "সঠিক"
উপায়টি

2

আমি বলতে চাই, আসুন "চটজলদি" হয়ে উঠুন ... কিছু দ্রুত, অনানুষ্ঠানিক কোড পর্যালোচনা করার জন্য কোডটি শেষ হওয়ার জন্য অপেক্ষা করবেন না: এমন ডেভেলপার রয়েছে যাদের সাথে আপনি অবশ্যই সাবজেক্টের জন্য অপেক্ষা করতে পারেন কোড + পরীক্ষার ফ্যাসিস শেষ করতে হবে ... তবে

যখন এটি সত্যিই নতুন বিষয়গুলির (সম্পূর্ণ নতুন বৈশিষ্ট্য, নিকট-গবেষণা, দলে একেবারে নতুন কিছু) আসে, কোড পর্যালোচনা তাড়াতাড়ি শিথিল না করে: সময়মতো সহকর্মীর সাথে নজর দিন: বিচ্ছিন্নতা একটি গুরুত্বপূর্ণ বিষয় এই ক্ষেত্রে ব্যর্থতা।

বিকাশকারী যদি দলে নতুন হয়, তেমনি, প্রাথমিক পর্যায়ে এবং সম্ভবত প্রায়শই পর্যালোচনা করুন

এবং যাইহোক, ইউনিট পরীক্ষার পাশাপাশি কোড পর্যালোচনা প্রয়োজন need

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.