কোড পর্যালোচনাগুলি ধীরে ধীরে কীভাবে প্রবর্তন করবেন?


26

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

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

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


আমি এ প্রশ্নের যথেষ্ট জোর দিয়েছি না তবে "ধীরে ধীরে" এখানে মূল উপাদান ছিল। আমি মনে করি না যে 100% পরিবর্তনগুলি পর্যালোচনা করা মোটেই সম্ভব is তবুও যদি কেবল একটি অংশ পর্যালোচনা করা হয় তবে কীভাবে অংশটি বাছাই করে? শুধু "পছন্দসই পরিবর্তন" বেছে নেবেন? এলোমেলো কিছু? লিড পিকস? এখানে উত্তরগুলি দুর্দান্ত তবে সত্যিই আমার মনে "ধীরে ধীরে" অংশ আসে নি।
ফিলিপ

উত্তর:


16

এটি সরঞ্জামকরণ বা প্রক্রিয়াজাতকরণের সমস্যা নয়। এটা সংস্কৃতি সম্পর্কে। আপনি এমন একটি দলকে বর্ণনা করেছেন যা এমন লোকদের সমন্বয়ে গঠিত যারা সমালোচনার প্রতি সংবেদনশীল এবং তাদের নিজের কাজের প্রতিরক্ষামূলক। এটি খুব, খুব সাধারণ। তবে এটি পেশাদার নয়।

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

এটা কঠিন কাজ.


38

প্রথম পদক্ষেপটি হ'ল কারও কাছে যাওয়া এবং "আরে, আপনি কি আমার কোডটি পর্যালোচনা করবেন?" আপনি আপনার সংস্থায় যে পরিবর্তনটি দেখতে চান তা হোন। আপনি যদি এটি করতে আগ্রহী কোনও একক ব্যক্তিকে খুঁজে না পান তবে আপনি পুরো দলকে বোঝাতে সক্ষম হবেন না। আপনার দুজনের কিছুটা সাফল্য থাকলে দলে ফিরে রিপোর্ট করুন।

একবার আপনি কাউকে আপনার কোডটি পর্যালোচনা করার জন্য খুঁজে পেয়েছেন, আপনি যদি তাদের কোডগুলির কিছু পর্যালোচনা করেন তবে তাদের মনে করুন কিনা তা জিজ্ঞাসা করুন । এটি আপনার কাছে শেখার সুযোগ হিসাবে তাদের কোডের উন্নতি করার সুযোগ হিসাবে নয় বলে বাক্যাংশ করুন


10
"আরে, আমি এই নকশায় খুশি নই, আমি কি চোখের বলের দ্বিতীয় সেট পেতে পারি?" একটি দুর্দান্ত প্রথম পদক্ষেপ। ++
রাবারডাক

4

একটি দল নেতৃত্ব হিসাবে, কোড পর্যালোচনা প্রক্রিয়াটি থেকে আমি সর্বাধিক মানটি পাই get যা চলছে তা সম্পর্কে সচেতনতা । বিকাশকারীর জন্য আমার কোনও পরিবর্তন বা পরামর্শ না থাকলেও আমি প্রতিটি এবং প্রতিটি পরিবর্তনটি দেখার সুযোগ পেতে চাই। আমি এগুলিকে "সচেতনতার পর্যালোচনা" বলি। আমি তাদের 30 মিনিটের নীচে ঘুরিয়ে আনতে পারি যাতে কোনও বাধা নেই।

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

একটি পুনরাবৃত্তি বা দুটি সচেতনতার পর্যালোচনা পরে, দলের সচেতনদের জন্য আবার ... একে অপরের কোড পর্যালোচনা করার জন্য দলের অন্যান্য সদস্যদের আমন্ত্রণ জানান। বিশ্বাস করুন বা না করুন, এটি একা টিম সংহতি এবং কোড অভিন্নতার জন্য সহায়ক হতে পারে।

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


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

4

পর্যালোচনা প্রবর্তনের জন্য কি কোনও ভাল উপায় আছে?

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

  • আপনি যা প্রত্যাশা করেন তা ব্যাখ্যা করুন: এটি আপনার দলের জন্য একটি নতুন প্রক্রিয়া, বা কমপক্ষে বিদ্যমান প্রক্রিয়াতে একটি পরিবর্তন, সুতরাং আপনি কেন পরিবর্তনটি প্রতিষ্ঠা করছেন, দলকে কীভাবে উপকৃত করবেন বলে আশা করছেন, তা কেবলমাত্র দলটিকেই জানা উচিত এবং আপনি কীভাবে জানেন যে এটি কাজ করছে কিনা।

  • প্রক্রিয়াটি সংজ্ঞায়িত করুন: কোডটি পর্যালোচনা, পরিবর্তনগুলি ইত্যাদির বিষয়ে আলোচনা করার জন্য আপনি যে প্রক্রিয়াটি তাদের অনুসরণ করতে চান সেই প্রক্রিয়াটি অনুসরণ করুন, যাতে দলের প্রত্যেকটি কীভাবে এগিয়ে যেতে হয় তা জানতে পারে।

  • মানদণ্ডকে সংজ্ঞায়িত করুন: উন্নতির প্রয়োজন হিসাবে লোকেরা কী ধরনের পরিবর্তন ও ডাকা উচিত তা নয় out উদাহরণস্বরূপ, বাগ এবং উল্লেখযোগ্য পারফরম্যান্সের উন্নতিগুলি উল্লেখ করা ভাল; কোডিং মান, পাঠযোগ্যতা এবং রক্ষণাবেক্ষণের বিষয়গুলি অবশ্যই লক্ষ্য করা উচিত তবে তা অবলম্বন করা উচিত নয়; ব্যক্তিগত স্বাদ বা শৈলীর বিষয়গুলি একা ছেড়ে দেওয়া উচিত।

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

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

উপরের সমস্তটি ব্যাখ্যা করতে এবং দলের সদস্যদের উদ্বেগের সমাধান করার জন্য একটি কিক অফ সভা শুরু করে শুরু করুন। প্রক্রিয়াটির নথিভুক্ত ইমেলটি অনুসরণ করুন।

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

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

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

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


-2

এটি করার একটি উপায় হ'ল প্রতিটি স্প্রিন্টের পরে কোড পর্যালোচনা সেশনগুলি পরিচালনা করা এবং প্রত্যেকের পরিবর্তনের মধ্য দিয়ে যাওয়া যেখানে কোডটি কিছু প্রকারের বড় স্ক্রিনে প্রমান করা হয় যাতে দলে প্রত্যেকে অংশ নিতে পারে। কোনও উন্নতি ব্যাকলগে প্রযুক্তি debtণ হিসাবে যুক্ত করা যেতে পারে।

এই পদ্ধতির কাজ করে, তবে এটি নিখুঁত নয়।

চূড়ান্ত লক্ষ্য হ'ল কোডটিকে মাস্টারের সাথে আবার মার্জ করার জন্য বা ব্রাঞ্চ তৈরি করতে কোডের প্রতিটি লাইন পর্যালোচনা করতে হবে এমন অনুরোধটি ব্যবহার করা pull


3
ঘন্টা সব একটি পুনরাবৃত্তির সময় কোডটি পুনর্বিচারের জন্য নিচে সবাই বসে তার উপর পরে (এবং বৈধভাবে খুব দেরি) একটি বিস্ময়কর উপায় মত শোনায় সবাই কোড পর্যালোচনার ধারণা ঘৃণা করা।
রাবারডাক

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

আমার 7 এর দলটি প্রতি দুই সপ্তাহে dozen 3 ডজন ডলারের বেশি কয়েক হাজার লাইনের কোড যুক্ত করে / সরিয়ে দেয় / সংশোধন করে। একটি মানের একটি জনসংযোগ পর্যালোচনা 15-60 মিনিট লাগবে। গড় জনসংযোগ 3-4 কমিট হয়। তাই হ্যা. যদি আমরা এটি একটি দল হিসাবে একবারে করি তবে এটি টিম জুড়ে 8 ঘন্টা পরিবর্তে 8 ঘন্টা এক্স 7 ডেভাস নিতে পারে। আমরা আপনার ক্ষোভ প্রকাশ করছি যে আমরা কিছু ভুল করছি। আমরা সপ্তাহে বেশ কয়েকবার প্রোডে যাই । আপনি কি?
রাবারডাক

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