চক্ষু নীতিটির সম্ভাব্য বাস্তবায়ন (বা উদাহরণ) কী কী?


22

মাইকেল গ্রেনওয়াল্ড সম্প্রতি এই মন্তব্যটি পোস্ট করেছেন :

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

আমি ভুল হলে আমাকে সংশোধন করুন, তবে আমাকে শিখানো হয়েছিল যে "চার-চোখের নীতি" এমন কিছু সম্পর্কে যা "ঘটতে অনুমোদিত" হয়, কমপক্ষে 2 জন মানুষ (এবং / অথবা স্বয়ংক্রিয় প্রক্রিয়া) তাদের পূর্বের আশীর্বাদ দেওয়ার পরে। অথবা উইকিপিডিয়া থেকে "two- (wo) man નિયમ" সম্পর্কে শব্দটির (কিছুটা সংশোধন) শব্দ ব্যবহার করতে :

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

নিয়ন্ত্রক বাধ্যবাধকতাগুলি এখানে বেশ নিশ্চিত, তবে "সেফ-গার্ড" প্রসঙ্গে, এই চক্ষু নীতিটির সম্ভাব্য ধারণাগত বাস্তবায়নগুলি কী, সম্ভবত যে কোনও প্ল্যাটফর্ম / ওএস / হার্ডওয়্যার ব্যবহৃত হতে পারে তা প্রয়োগ করতে পারে?

উত্তর:


11

কোডটিতে প্রয়োগের একটি হ'ল গিটহাব দ্বারা জনপ্রিয় পল রিকুয়েস্ট মডেল (পিআর)।

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

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

একবার 4 টি চোখের নীতির জন্য স্বয়ংক্রিয় পরীক্ষাগুলি পাস হয়ে গেলে, এখনও পরিবর্তনটি পর্যালোচনা করতে এবং অনুমোদনের জন্য এটির কনফিগারযোগ্য সংখ্যক ব্যক্তির প্রয়োজন এটি স্পষ্টভাবে মার্জ হওয়ার আগে কমপক্ষে 1 জন ব্যক্তির (যিনি পিআর লেখক নন) পর্যালোচনা করে 4 টি চোখের প্রয়োগ করতে পরিবর্তন।

একবার পর্যালোচকদের কোরাম পূরণ হয়ে গেলে বা এখনও কোনও রক্ষণাবেক্ষণকারী দ্বারা ম্যানুয়াল একীভূত করতে গেলে বিবিধ বিস্তৃত বিকল্প রয়েছে options

পর্যালোচনা এবং একীভূত করার অনুমতিগুলি পৃথক করা যেতে পারে যা বেশি সংখ্যক লোককে সংযুক্তির স্থিতিতে "ভোট" দেওয়ার অধিকার প্রদান করতে সহায়তা করে এবং প্রকৃতপক্ষে কে মার্জ করতে পারে তা সীমাবদ্ধ রাখার সম্ভাবনা রাখে।


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

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

@ পিয়ার এবং সম্পাদনার জন্য, কেবলমাত্র একটি বিন্দুতে, 4 চোখের নীতির আরও 1 জন ব্যক্তিকে পর্যালোচনা করা উচিত, এর অর্থ 2 জন ব্যক্তি পরিবর্তনটি দেখেছিলেন (লেখক এটি পর্যালোচনা করেন নি), সুতরাং ব্যক্তির পরিবর্তনশীল সংখ্যার একক ( যেহেতু এটি কেবল একই হতে পারে এবং ফরাসি ভাষায় কেবলমাত্র একমাত্র একক: p)। আমি যতটা চাই ইংরেজিতে তেমন সাবলীল নই, তবে আমি মনে করি প্রথম পয়েন্টটি বৈধ হবে (২ জন পাঠক, ২ টি এটিকে একটি একক পর্যালোচনা করে
দেখেছে

আহা, এটাই আপনার অর্থ, এখন আমি এটি পেয়েছি (এবং আপনার উত্তরটিতে অতিরিক্ত স্পেসিফিকেশন কপি / পেস্ট করার স্বাধীনতা নিয়েছে)। বিটিডাব্লু: প্রাক্তন একটি ম্যাপল (EN তে), প্রাক্তন
ম্যাপল নয়

@ পিয়ের.ভ্রিয়েনস দ্বৈত ভাষার সাথে অটোকে সঠিকভাবে দোষ দিয়েছেন :)
তেনসাইবাই

9

কোড পর্যালোচনা

এটি কমপক্ষে 1 জন অন্য কারও দ্বারা লিখিত কোডটি দেখছে, যেমন মূল্যায়নের জন্য এটি কোনও পূর্বনির্ধারিত মানদণ্ড পূরণ করে যেমন:

  • কোডিং মান (ইন্ডেন্টেশন ইত্যাদি)।
  • ইনলাইন ডকুমেন্টেশন।
  • কোড রক্ষণাবেক্ষণ।
  • ত্রুটি পরিচালনা.
  • সম্পূর্ণতা (যেমন if/then/elseবা case/whenসম্ভাব্য সমস্ত কেসগুলি কভার করে)।

কিছু লক্ষ্যযুক্ত পরিবেশ আপডেট করার জন্য অনুমোদন

এটি কোনও টার্গেট এনভায়রনমেন্ট (যা লাইভ হতে পারে, বা কিছু মাস্টার ফাইল / বেসলাইন লাইব্রেরির মতো কিছু হতে পারে) আপডেট করার অনুমতি দেওয়ার আগে এটি কোনও ব্যক্তির এবং / বা স্বয়ংক্রিয় সিস্টেমের কমপক্ষে 2 টি নিশ্চিতকরণ প্রাপ্তির বিষয়ে। কয়েকটি উদাহরণ হ'ল:

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

6

এগুলি আমি কৌশলগুলি / নিদর্শনগুলি সম্পর্কে ভাবতে পারি:

দায়িত্ব পৃথককরণ

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

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

ট্রিগার মোতায়েন করুন

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

একবার ট্রিগার হয়ে গেলে, অটোমেশনটি ডিপ্লোয়মেন্ট কার্যকর করতে এগিয়ে যেতে পারে।

পেয়ার প্রোগ্রামিং

ব্যক্তিগতভাবে আমি এই কৌশলটি চেক এবং ব্যালান্স নীতিটি পূরণ করার জন্য নিরীক্ষকের একটি পদ্ধতি হিসাবে উদ্ধৃত করি নি। তবে সম্ভাব্য আমি মনে করি এটি কৌশল হতে পারে।

এমএফএ

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


এই আকর্ষণীয় বিভিন্নতার জন্য Merci! "জোড় প্রোগ্রামিং" এর আগে এর আগে কখনও শুনিনি, এটিকে "4 হাত" দিয়ে পিয়ানো বাজানোর ভিন্নতার মতো মনে হয়!
Pierre.Vriens

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