একটানা সংহত করার সময় কোড পর্যালোচনাগুলি কখন করবেন?


33

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

সুতরাং প্রশ্নটি হল আমরা কখন কোড পর্যালোচনা করব?

আগে আমরা কোডে পরীক্ষা আমরা এটা ব্যবহার করতে পারবেন না, কারণ যে প্রক্রিয়া আমরা কোথায় দৈনন্দিন চেক ইন করে করতে হবে, প্রতি দিন একা একাধিক চেক ইন করে দিন পারবে না মন্দীভূত হবে।

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


যখন এটি চেকিন / পুশ করতে আসে, বেশিরভাগ জায়গার একটি বড় নিয়ম থাকে: বিল্ডটি ভাঙবেন না! অর্থাত এমন কিছু যাচাই করবেন না that বেশিরভাগ জায়গাগুলি ছাড়াও আমি ছোট এবং সীমাবদ্ধ চেকিন চাইতাম, তবে পরিমাণ সম্পর্কে কখনও কিছু বলিনি।
কিছু প্রোগ্রামার ড্যুড

তবে কোডটি পর্যালোচনা কখন ঘটবে, আপনি চেক ইন করার আগে, বা কখন আপনার বৈশিষ্ট্যটি সম্পন্ন হয়েছে? তার মানে কি আপনার এমন কোড রয়েছে যা পর্যালোচনা করা হয়নি যাচাই করা হয়নি এবং আপনি যে পর্যালোচনাটি পরে খুঁজে পেয়েছেন তা ঠিক করেছেন?

এটি পরিবর্তিত হয়, তবে বেশিরভাগ জায়গাগুলি মূল শাখাগুলির মধ্যে একীভূত হওয়ার আগে ব্যক্তিগত শাখাগুলিতে কোড পর্যালোচনা করতে চায়
কিছু প্রোগ্রামার ডুড

উত্তর:


12

আইএমও, মেইনলাইনে প্রকাশের আগে আপনার কোডটি পর্যালোচনা করা উচিত যাতে মেনলাইনটিতে কেবলমাত্র সর্বোচ্চ মানের কোড থাকে।

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

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

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

(সম্পূর্ণ প্রকাশ: আমি স্মার্টবিয়ারের জন্য কাজ করতাম, কোড সহযোগী প্রস্তুতকারী, একটি কোড পর্যালোচনা সরঞ্জাম)


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

1
তবুও, আমি ডিভিসিএস নির্বিশেষে বা না করি তা একটি আদর্শ প্রক্রিয়া বলে মনে করি না। কোড পর্যালোচনার একটি প্রয়োজনীয়তা কেবল কোডটি দেখার জন্য নয়, প্রকৃতপক্ষে কোড চালানো বা স্বয়ংক্রিয়ভাবে কোডটি পরীক্ষা করা এবং দেখুন কী ঘটে। আপনি কেবল ভিন্ন ভিন্ন সিরিজের সাহায্যে এটি করতে পারবেন না।
জর্দান

2
স্বয়ংক্রিয় পরীক্ষা চালানোর পরে পর্যালোচনাগুলি করা উচিত এমন পরামর্শের জন্য +1।
উইলিয়াম পায়েেন

1
জর্দান: আসল কোডরিভিউ সরঞ্জামগুলি (জীবাণু ইত্যাদি) কেবলমাত্র ভিন্নতার চেয়ে বেশি সরবরাহ করে - কোডটি পরিবর্তন আসলে কী প্রভাব ফেলছে তা আপনি বুঝতে পারেন যাতে আপনি সমস্ত প্রসঙ্গটি পড়তে পারেন। আপনার যদি প্রয়োজন হয় তবে হ্যাঁ, প্যাচটি ডাউনলোড করুন এবং এটি তৈরি করুন, তবে যেহেতু এটি সমস্ত কিছু সিআইয়ের মধ্য দিয়ে চলছে এটি ধারণা করা হচ্ছে যে অটোমেশনের ফলে ধরা পড়তে পারে এমন ত্রুটিগুলি হবে, সুতরাং স্থায়ীত্ব রক্ষণাবেক্ষণ এবং প্রান্তের ক্ষেত্রে আরও বেশি যে স্বয়ংক্রিয়তা বা নৈমিত্তিক পরীক্ষা নাও পেতে পারে।
pjz

1
সিআই এর একটি বিন্দু প্রাথমিক এবং প্রায়শই মূললাইনটির সাথে সিঙ্ক করার জন্য নয়? আপনার পদ্ধতির সিঙ্ক করতে দেরি হবে যাতে অনেকগুলি ত্রুটি রয়েছে।
জ্যাকব আর

11

জুড়ি প্রোগ্রামিং সেট আপ?

প্রক্রিয়াটি বাড়ানো বা অন্য পদক্ষেপ প্রবর্তন না করে কোড টাইপ করা হওয়ায় সমস্ত কোড পর্যালোচনা করা হয়।


7

এখানে অবিচ্ছিন্ন বিতরণ লেখকের নির্যাস:

জেজ বিনীত লিখেছেন:

আমি বর্তমানে এই বিষয়ে একটি ব্লগ পোস্ট লিখছি। সংক্ষিপ্ত উত্তরটি হ'ল:

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

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

একটি আনুষ্ঠানিক পর্যালোচনাতে মুখ্যরেখায় মার্জিন করা খারাপ, এবং এটি করার জন্য শাখা তৈরি করা অতিরিক্ত খারাপ, একই কারণে বৈশিষ্ট্যগুলি শাখাগুলি খারাপ।

ধন্যবাদ,

Jez।

মূল লিঙ্কটি হল: https://groups.google.com/forum/#!msg/continuousdelivery/LIJ1nva9Oas/y3sAaMtibGAJ


5

আমি জানি না এটি করার সর্বোত্তম উপায় কিনা ... তবে আমি কীভাবে করব তা ব্যাখ্যা করব। এক বা একাধিক বিকাশকারী একটি প্রদত্ত শাখায় কাজ করে এবং মার্জ করার সময় নষ্ট না করার জন্য যতটা সম্ভব তাদের কোড প্রতিশ্রুতি দেয় যা অন্যথায় ঘটেনি। কোড প্রস্তুত হয়ে গেলেই এটি মাথায় প্রতিশ্রুতিবদ্ধ হয়। এখন এটি কমিট এবং শাখা / প্রধান জিনিসগুলির জন্য।

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

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

সুতরাং আমাদের দুটি কোড পর্যালোচনা রয়েছে, একটি স্বয়ংক্রিয় এবং একটি "মানব" এবং আমরা হেড শাখায় পর্যালোচনা করা কোডটি এড়াতে চেষ্টা করি। এখন ... এটি বিভিন্ন কারণে কখনও কখনও ঘটে থাকে, আমরা নিখুঁত থেকে অনেক দূরে, তবে আমরা মানের এবং ব্যয়ের (সময়!) মধ্যে ন্যায্য ভারসাম্য বজায় রাখার চেষ্টা করি

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


আকর্ষণীয় ধারণা যে পর্যালোচনাগুলি নির্দিষ্ট সময় / দিনের জন্য নির্ধারিত করা উচিত ...
উইলিয়াম পায়েেন

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

4

আমি মনে করি যে মূল ধারণাটি সাহায্য করবে এটি হ'ল "মঞ্চায়ন" অঞ্চল।

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

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

এর মধ্যেও ওয়ার্কফ্লো রয়েছে যেমন প্রত্যেকটি মূল শাখায় কাজ করে বা সমস্ত প্রচেষ্টার জন্য স্বতন্ত্র শাখা ব্যবহার করে।

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



2

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

বিকাশের যে কোনও কিছুই সম্পূর্ণ, মোতায়েনযোগ্য এবং কোড পর্যালোচনা।

আমাদের বিকাশ এবং মাস্টার শাখার জন্য সিআইও রয়েছে।


2

আমি সত্যিই-সত্যিই মনে করি প্রাকৃতিকভাবে এটি করার জন্য আপনার একটি ডিভিসিএস (যেমন মুরারি, গিট) লাগবে। একটি সিভিসিএসের সাহায্যে আপনার একটি শাখা দরকার এবং আপনার .শ্বরের কাছে আশা রয়েছে যে সেখানে কোনও মার্জ নরক নেই।

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

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

এখানে চিত্র বর্ণনা লিখুন

আপনার যদি সংগ্রহস্থল পরিচালনার সফ্টওয়্যার থাকে তবে এটি করার আরেকটি উপায় হ'ল নীচের মতো একটি ওয়ার্কফ্লো ব্যবহার করা:

এখানে চিত্র বর্ণনা লিখুন

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

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

PS: চিত্রগুলির ক্রেডিট git-scm.com এ যান


1
গিথুব-এর লোকেরা কোড রিভিউগুলি করতে টানুন অনুরোধগুলি ব্যবহার করে এবং এটি স্কট চকন , জ্যাচ হলম্যান এবং অন্যান্যদের মতে ভালভাবে কাজ করছে বলে মনে হয় ।
Spoike

1

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

সিস্টেমে যাওয়ার সময় পরিবর্তনগুলি যে পথটি গ্রহণ করে তার উপর নির্ভর করে এটি জটিল সমাধান হিসাবে কিছুটা হলেও শেষ হয়ে যেতে পারে এবং গিট, বা মার্কুরিয়াল কুইজের মতো সরঞ্জাম ব্যবহার করার সময় সবচেয়ে ভাল কাজ করতে পারে (ক্যাভেট: আমি রাগের মধ্যেও ব্যবহার করি নি) কিন্তু প্রচুর সংস্থাগুলি একই রকম কিছু করে।


1

এর অর্থ কি কোনও বৈশিষ্ট্য শেষ হয়ে গেলে আমাদের কোড পর্যালোচনা করা উচিত, তবে সেই পর্যালোচনা করা কোডটি ভান্ডারটিতে প্রবেশ করবে?

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

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

-2

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

অবিচ্ছিন্ন একীকরণ চরম প্রোগ্রামিং প্রক্রিয়াতে জনপ্রিয়। টেস্ট-চালিত বিকাশ পেয়ার প্রোগ্রামিং যুক্ত করে, যা একটি কোড পর্যালোচনা প্রক্রিয়ার প্রকৃত অংশ, ক্রমাগত সংহতকরণ কার্যকর করা সহজ করে তোলে। চূড়ান্ত প্রোগ্রামিং নিজেই একটি ধারাবাহিক কোড পর্যালোচনা এবং সংহতকরণ প্রক্রিয়া। কোড পর্যালোচনা সর্বত্র বিদ্যমান।

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

প্রশ্ন ফিরে। কোড পর্যালোচনা কখন করবেন তার কোনও মানক উত্তর নেই এবং এটি আপনার মূল বিকাশ প্রক্রিয়া এবং আপনার অবিচ্ছিন্ন ইন্টিগ্রেশনের প্রকৃত বাস্তবায়নের উপর নির্ভর করে।

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