কোড পর্যালোচনার জন্য সময় বরাদ্দ


14

আপনি যদি কোড রিভিউ করছেন

  • বাস্তবায়নের তুলনায় আপনি কোড পর্যালোচনায় কত সময় ব্যয় করেন?
  • কোডগুলি পর্যালোচনা করে কত পরিবর্তন আসে?
  • আপনি কি মনে করেন এটি অনেক বেশি / বেশি হওয়া উচিত?

কার্যকারিতা সম্পর্কে কোন গবেষণা আছে?

[সম্পাদনা] উত্তরের জন্য আপনাকে সবাইকে ধন্যবাদ, এই জাতীয় প্রশ্নের জন্য একটি "বিজয়ী" বাছাই করা শক্ত, অন্যান্য জবাবগুলিতেও প্রচুর মূল্যবান তথ্য রয়েছে।


2
এই তিনটি প্রশ্নের আমার উত্তরগুলি "কিছুই নয়", "তাদের কোনওটিই নয়" এবং "এটি আরও হওয়া উচিত।" :-)
কারসন 63000

4
ভাল প্রশ্ন, আমি আমার কাজের কোড পর্যালোচনা প্রবর্তনের জন্য একটি ব্যক্তিগত ক্রুসেড শুরু করার প্রক্রিয়াধীন। সুতরাং এর উত্তরগুলি সহায়ক হতে পারে।
কেভিন ডি

পরবর্তী প্রশ্নটি "কেন" - বেশিরভাগই এর গুণমান সম্পর্কে ভাবেন, তবে কোডের শিক্ষাগত মান মানের মান ছাড়িয়ে গেলে আপনি বড় লাভগুলি পান।
mattnz

উত্তর:


7

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

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

এই সিস্টেমটি কাজ করার জন্য এটি প্রায়শই ট্রাঙ্কে প্রতিশ্রুতিবদ্ধ হওয়া অত্যন্ত জরুরি, যাতে পরিবর্তনগুলি পরিচালনাযোগ্য আকারের হয়। আপনার যখন কারও কোডের এক বছরের মূল্য মূল্য পর্যালোচনা করতে হয় তখন আপনি এই পরিস্থিতিটি দেখতে চান না।


1
এটি কতটা লাগে আপনার কোনও ধারণা আছে?
পিটারচেন

5

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


আমি এই বইটি সবেমাত্র অর্ডার করেছি। আশা করা উচিত একটি আকর্ষণীয় পড়া।
কেভিন ডি

3
এটিও অর্ডার দিয়েছিলেন। " বিনামূল্যে " বইয়ের জন্য 20 দিন অপেক্ষা করা অবাক করা - এমন কোনও সংস্থা যা ইন্টারনেটে সফ্টওয়্যার বিক্রি করে, এর চেয়ে কম নয়।
পিটারচেন

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

4

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

এটির পরিমাণ নির্ধারণ করা শক্ত, কারণ জাগতিক পরিবর্তনগুলি যেমন নতুন মতামত, পৃষ্ঠাগুলি ইত্যাদি পর্যালোচনা করা হয় না। আমরা নতুন মডিউল, বড় আপডেটগুলি এবং রিফ্যাক্টরিংগুলি পর্যালোচনা করি। বড় পরিবর্তন হিসাবে, কোড পর্যালোচনা 10% থেকে 30% সময় নিতে পারে, তবে এটি মূল্যবান।

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

নামকরণের সম্মেলন এবং স্কোপ ত্রুটির মতো সাধারণ জিনিসের জন্য আমরা আমাদের নিজস্ব বা ওপেন সোর্স স্বয়ংক্রিয় সরঞ্জামগুলি (jslint, pylint, pyflakes, pep8) ব্যবহার করি। এবং আমরা প্রতিশ্রুতিবদ্ধ এবং ধাক্কা সীমাবদ্ধ করি না: আমরা মার্কুরিয়াল ব্যবহার করি যা খুব সহজ শাখা এবং মার্জিং করে (আমার বলতে হবে, গিটের চেয়ে সহজ)। বাগগুলি কোনও কোড পর্যালোচনার বিষয় নয়।

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


2

এর সঠিক বা ভুল উত্তর নেই। তবে আমার আগে অনেকেই পরামর্শ দিয়েছেন - কোড পর্যালোচনা যদি কোনও বাহ্যিক দলের সদস্য [অত্যন্ত প্রস্তাবিত পদ্ধতি] দ্বারা করা হয় তবে এটি উন্নয়ন প্রচেষ্টার প্রায় 30% থেকে 35% পর্যন্ত হতে পারে । তবে যদি এটি কোনও অভ্যন্তরীণ প্রকল্প দলের সদস্য দ্বারা করা হয় যিনি উন্নয়ন দলের অংশ ছিলেন [প্রস্তাবিত নয়] এটি উন্নয়নের চেষ্টার জন্য নেওয়া সময়ের প্রায় 20% এর মধ্যে শেষ করা যেতে পারে ।

দ্রষ্টব্য: অন্য কিছু অনুসন্ধান করার সময় আমি এই থ্রেডটি পেরিয়ে এসেছি এবং আমি ভেবেছিলাম যে আমি এখানে কিছু মান যুক্ত করতে সক্ষম হব able বিটিডব্লিউ, উপরোক্ত এই সমস্ত প্রচেষ্টা অনুমানটি একাধিক প্রকল্পের ব্যস্ততা পরিচালক হিসাবে আমার কাজের অভিজ্ঞতার উপর ভিত্তি করে। আশা করি এটা সাহায্য করবে.


ধন্যবাদ - এবং কোনও ঘাম নয়, আমি "কত" প্রশ্নের জন্য সংখ্যাগুলি দেখার জন্য প্রশংসা করি!
পিটারচেন

0

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

একমাত্র সতর্কতা হ'ল এটি আমলাতান্ত্রিক হয়ে উঠতে শুরু করতে পারে এবং সংগঠন সংস্কৃতিতে নির্ভর করে।


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