আপনি যদি একটি ব্যবহারকারী-মুখী বৈশিষ্ট্য যোগ করার, পরিবর্তন করার বা অপসারণ করার পরিকল্পনা করছেন বা Bazel-এ একটি উল্লেখযোগ্য স্থাপত্য পরিবর্তন করার পরিকল্পনা করছেন, তাহলে আপনাকে অবশ্যই একটি নকশা নথি লিখতে হবে এবং আপনি পরিবর্তনটি জমা দেওয়ার আগে এটি পর্যালোচনা করতে হবে৷
এখানে উল্লেখযোগ্য পরিবর্তনের কিছু উদাহরণ রয়েছে:
- নেটিভ বিল্ড নিয়ম সংযোজন বা মুছে ফেলা
- দেশীয় নিয়ম ভঙ্গ-পরিবর্তন
- একটি নেটিভ বিল্ড নিয়ম শব্দার্থবিদ্যায় পরিবর্তন যা একক নিয়মের বেশি আচরণকে প্রভাবিত করে
- Bazel এর নিয়ম সংজ্ঞা API এ পরিবর্তন
- এপিআই-এর পরিবর্তন যা Bazel অন্যান্য সিস্টেমের সাথে সংযোগ করতে ব্যবহার করে
- স্টারলার্ক ভাষা, শব্দার্থবিদ্যা, বা API-তে পরিবর্তন
- যে পরিবর্তনগুলি ব্যাজেল কর্মক্ষমতা বা মেমরি ব্যবহারের উপর ব্যাপক প্রভাব ফেলতে পারে (ভাল বা খারাপের জন্য)
- ব্যাপকভাবে ব্যবহৃত অভ্যন্তরীণ API-এ পরিবর্তন
- পতাকা এবং কমান্ড লাইন ইন্টারফেসে পরিবর্তন।
নকশা পর্যালোচনা জন্য কারণ
আপনি যখন একটি ডিজাইন ডকুমেন্ট লেখেন, তখন আপনি অন্যান্য Bazel ডেভেলপারদের সাথে সমন্বয় করতে পারেন এবং Bazel এর মূল দলের কাছ থেকে নির্দেশনা চাইতে পারেন। উদাহরণস্বরূপ, যখন একটি প্রস্তাব BUILD, WORKSPACE, বা bzl ফাইলগুলিতে উপলব্ধ যেকোন ফাংশন বা অবজেক্ট যোগ, অপসারণ বা সংশোধন করে, স্টারলার্ক দলকে পর্যালোচক হিসাবে যোগ করুন। ডিজাইন নথি জমা দেওয়ার আগে পর্যালোচনা করা হয় কারণ:
- Bazel একটি খুব জটিল সিস্টেম; আপাতদৃষ্টিতে নিরীহ স্থানীয় পরিবর্তনগুলি উল্লেখযোগ্য বৈশ্বিক পরিণতি হতে পারে।
- দলটি ব্যবহারকারীদের কাছ থেকে অনেক বৈশিষ্ট্যের অনুরোধ পায়; এই ধরনের অনুরোধগুলি শুধুমাত্র প্রযুক্তিগত সম্ভাব্যতার জন্যই নয়, অন্যান্য বৈশিষ্ট্যের অনুরোধের ক্ষেত্রেও গুরুত্বের জন্য মূল্যায়ন করা প্রয়োজন।
- বেজেল বৈশিষ্ট্যগুলি প্রায়শই মূল দলের বাইরের লোকেরা প্রয়োগ করে; এই ধরনের অবদানকারীদের ব্যাজেল দক্ষতার বিভিন্ন স্তর রয়েছে।
- Bazel দলের নিজেই দক্ষতার বিভিন্ন স্তর আছে; কোনো একক দলের সদস্যের Bazel এর প্রতিটি কোণ সম্পর্কে সম্পূর্ণ ধারণা নেই।
- Bazel-এ পরিবর্তনগুলি অবশ্যই পশ্চাদগামী সামঞ্জস্যের জন্য দায়ী এবং পরিবর্তনগুলি ভাঙা এড়াতে হবে৷
Bazel এর ডিজাইন পর্যালোচনা নীতি সম্ভাব্যতা বাড়াতে সাহায্য করে যে:
- সমস্ত বৈশিষ্ট্যের অনুরোধগুলি যাচাইয়ের একটি বেসলাইন স্তর পায়।
- আমরা এমন একটি বাস্তবায়নে বিনিয়োগ করার আগে যা কাজ নাও করতে পারে সঠিক লোকেদের ডিজাইনের উপর ওজন থাকবে।
আপনাকে শুরু করতে সাহায্য করার জন্য, Bazel প্রস্তাবনা সংগ্রহস্থলে ডিজাইনের নথিগুলি দেখুন৷ ডিজাইনের কাজ চলছে, তাই বাস্তবায়নের বিবরণ সময়ের সাথে সাথে এবং প্রতিক্রিয়ার সাথে পরিবর্তিত হতে পারে। প্রকাশিত নকশা নথি প্রাথমিক নকশা ক্যাপচার, এবং নকশা বাস্তবায়ন করা হয় চলমান পরিবর্তন নয় . বর্তমান Bazel কার্যকারিতার বর্ণনার জন্য সর্বদা ডকুমেন্টেশনে যান।
অবদানকারী কর্মপ্রবাহ
একজন অবদানকারী হিসাবে, আপনি একটি নকশা নথি লিখতে পারেন, পুল অনুরোধ পাঠাতে পারেন এবং আপনার প্রস্তাবের জন্য পর্যালোচকদের অনুরোধ করতে পারেন।
নকশা দলিল লিখুন
সমস্ত নকশা নথিতে একটি শিরোনাম থাকতে হবে যার মধ্যে রয়েছে:
- লেখক
- শেষ বড় পরিবর্তনের তারিখ
- একজন (এবং শুধুমাত্র একজন) প্রধান পর্যালোচক সহ পর্যালোচকদের তালিকা
- বর্তমান অবস্থা ( খসড়া , পর্যালোচনা , অনুমোদিত , প্রত্যাখ্যাত , বাস্তবায়িত হচ্ছে , বাস্তবায়িত )
- আলোচনার থ্রেডের লিঙ্ক ( ঘোষণার পরে যোগ করা হবে )
নথিটি বিশ্ব-পঠনযোগ্য Google ডক হিসাবে বা মার্কডাউন ব্যবহার করে লেখা যেতে পারে। একটি মার্কডাউন / Google ডক্স তুলনার জন্য নীচে পড়ুন।
ব্যবহারকারী-দৃশ্যমান প্রভাব রয়েছে এমন প্রস্তাবগুলিতে পশ্চাদগামী সামঞ্জস্যের উপর প্রভাবের নথিভুক্ত একটি বিভাগ থাকতে হবে (এবং প্রয়োজন হলে একটি রোলআউট পরিকল্পনা)।
একটি টান অনুরোধ তৈরি করুন
ডিজাইন ইনডেক্সে ডকুমেন্ট যোগ করার জন্য একটি পুল রিকোয়েস্ট (PR) তৈরি করে আপনার ডিজাইন ডক শেয়ার করুন। আপনার পিআর-এ আপনার মার্কডাউন ফাইল বা একটি নথির লিঙ্ক যোগ করুন।
যখন সম্ভব, একজন প্রধান পর্যালোচক বেছে নিন । এবং সিসি অন্যান্য পর্যালোচক। আপনি যদি একজন প্রধান পর্যালোচক নির্বাচন না করেন, তাহলে একজন Bazel রক্ষণাবেক্ষণকারী আপনার PR-এ একজনকে বরাদ্দ করবে।
আপনি আপনার পিআর তৈরি করার পরে, পর্যালোচকরা কোড পর্যালোচনার সময় প্রাথমিক মন্তব্য করতে পারেন। উদাহরণস্বরূপ, প্রধান পর্যালোচক অতিরিক্ত পর্যালোচকদের পরামর্শ দিতে পারেন বা অনুপস্থিত তথ্য নির্দেশ করতে পারেন। প্রধান পর্যালোচক পিআর অনুমোদন করেন যখন তারা বিশ্বাস করেন যে পর্যালোচনা প্রক্রিয়া শুরু হতে পারে। এর অর্থ এই নয় যে প্রস্তাবটি নিখুঁত বা অনুমোদিত হবে; এর মানে হল যে প্রস্তাবে আলোচনা শুরু করার জন্য যথেষ্ট তথ্য রয়েছে।
নতুন প্রস্তাব ঘোষণা
পিআর জমা দেওয়া হলে Bazel-dev- কে একটি ঘোষণা পাঠান।
আপনি অন্যান্য গোষ্ঠীগুলি অনুলিপি করতে পারেন (উদাহরণস্বরূপ, Bazel-discuss , Bazel শেষ-ব্যবহারকারীদের কাছ থেকে প্রতিক্রিয়া পেতে)।
পর্যালোচকদের সাথে পুনরাবৃত্তি করুন
আগ্রহী যে কেউ আপনার প্রস্তাব মন্তব্য করতে পারেন. প্রশ্নের উত্তর দেওয়ার চেষ্টা করুন, প্রস্তাবটি স্পষ্ট করুন এবং উদ্বেগগুলি সমাধান করুন।
আলোচনা ঘোষণা থ্রেড ঘটতে হবে. যদি প্রস্তাবটি একটি Google ডক-এ থাকে, তবে মন্তব্যগুলি পরিবর্তে ব্যবহার করা যেতে পারে (মনে রাখবেন যে বেনামী মন্তব্য অনুমোদিত)।
স্ট্যাটাস আপডেট করুন
পুনরাবৃত্তি সম্পূর্ণ হলে প্রস্তাবের স্থিতি আপডেট করতে একটি নতুন PR তৈরি করুন। একই লিড রিভিউয়ারের কাছে PR পাঠান এবং অন্য রিভিউয়ারদের cc করুন।
আনুষ্ঠানিকভাবে প্রস্তাবটি গ্রহণ করার জন্য, অন্যান্য পর্যালোচকরা সিদ্ধান্তের সাথে একমত কিনা তা নিশ্চিত করার পরে প্রধান পর্যালোচক PR অনুমোদন করেন।
প্রথম ঘোষণা এবং একটি প্রস্তাব অনুমোদনের মধ্যে কমপক্ষে 1 সপ্তাহ থাকতে হবে। এটি নিশ্চিত করে যে ব্যবহারকারীদের নথি পড়ার এবং তাদের উদ্বেগগুলি ভাগ করার জন্য যথেষ্ট সময় ছিল৷
প্রস্তাবটি গৃহীত হওয়ার আগে বাস্তবায়ন শুরু হতে পারে, উদাহরণস্বরূপ ধারণার প্রমাণ বা একটি পরীক্ষা হিসাবে। যাইহোক, পর্যালোচনা সম্পূর্ণ হওয়ার আগে আপনি পরিবর্তন জমা দিতে পারবেন না।
একটি প্রধান পর্যালোচক নির্বাচন
একজন প্রধান পর্যালোচককে একজন ডোমেন বিশেষজ্ঞ হতে হবে:
- প্রাসঙ্গিক সাবসিস্টেম সম্পর্কে জ্ঞানী
- উদ্দেশ্য এবং গঠনমূলক প্রতিক্রিয়া প্রদান করতে সক্ষম
- প্রক্রিয়াটি পরিচালনা করার জন্য সম্পূর্ণ পর্যালোচনা সময়ের জন্য উপলব্ধ
বিভিন্ন দলের লেবেলগুলির জন্য পরিচিতিগুলি পরীক্ষা করার কথা বিবেচনা করুন৷
মার্কডাউন বনাম Google ডক্স
আপনার জন্য কোনটি সবচেয়ে ভাল কাজ করে তা নির্ধারণ করুন, যেহেতু উভয়ই গৃহীত হয়।
Google ডক্স ব্যবহার করার সুবিধা:
- বুদ্ধিমত্তার জন্য কার্যকর, যেহেতু এটি দিয়ে শুরু করা সহজ।
- সহযোগিতামূলক সম্পাদনা।
- দ্রুত পুনরাবৃত্তি.
- সম্পাদনার পরামর্শ দেওয়ার সহজ উপায়।
মার্কডাউন ফাইল ব্যবহার করার সুবিধা:
- লিঙ্ক করার জন্য ইউআরএল পরিষ্কার করুন।
- সংশোধনের সুস্পষ্ট রেকর্ড।
- একটি লিঙ্ক প্রচার করার আগে অ্যাক্সেস অধিকার সেট আপ করতে ভুলবেন না।
- সার্চ ইঞ্জিনের মাধ্যমে সহজেই অনুসন্ধানযোগ্য।
- ভবিষ্যৎ-প্রমাণ: প্লেইন টেক্সট কোনো নির্দিষ্ট টুলের দয়ায় নয় এবং ইন্টারনেট সংযোগের প্রয়োজন নেই।
- লেখক আর আশেপাশে না থাকলেও তাদের আপডেট করা সম্ভব।
- এগুলি স্বয়ংক্রিয়ভাবে প্রক্রিয়া করা যেতে পারে (মৃত লিঙ্কগুলি আপডেট/শনাক্ত করুন, লেখকদের তালিকা আনুন, ইত্যাদি)।
আপনি প্রথমে একটি Google ডক-এ পুনরাবৃত্তি করতে বেছে নিতে পারেন, এবং তারপর এটিকে উত্তরসূরির জন্য মার্কডাউনে রূপান্তর করতে পারেন।
Google ডক্স ব্যবহার করে
সামঞ্জস্যের জন্য, Bazel ডিজাইন ডক টেমপ্লেট ব্যবহার করুন। এটি প্রয়োজনীয় শিরোনাম অন্তর্ভুক্ত করে এবং অন্যান্য Bazel সম্পর্কিত নথির সাথে চাক্ষুষ সামঞ্জস্য তৈরি করে। এটি করতে, ফাইলে ক্লিক করুন > একটি অনুলিপি তৈরি করুন বা ডিজাইন ডক টেমপ্লেটের একটি অনুলিপি তৈরি করতে এই লিঙ্কটিতে ক্লিক করুন।
আপনার দস্তাবেজটি বিশ্বের কাছে পাঠযোগ্য করে তুলতে, শেয়ার > অ্যাডভান্সড > পরিবর্তন… এ ক্লিক করুন এবং "অন - যে কেউ লিঙ্ক সহ" বেছে নিন। আপনি যদি নথিতে মন্তব্য করার অনুমতি দেন, যে কেউ বেনামে মন্তব্য করতে পারে, এমনকি Google অ্যাকাউন্ট ছাড়াই৷
মার্কডাউন ব্যবহার করে
নথিগুলি গিটহাবে সংরক্ষণ করা হয় এবং মার্কডাউন ( স্পেসিফিকেশন ) এর গিটহাব ফ্লেভার ব্যবহার করে৷
একটি বিদ্যমান নথি আপডেট করতে একটি PR তৈরি করুন। উল্লেখযোগ্য পরিবর্তনগুলি নথি পর্যালোচনাকারীদের দ্বারা পর্যালোচনা করা উচিত। তুচ্ছ পরিবর্তন (যেমন টাইপো, ফরম্যাটিং) যে কেউ অনুমোদন করতে পারে।
পর্যালোচক কর্মপ্রবাহ
একজন পর্যালোচক মন্তব্য, পর্যালোচনা এবং নকশা নথি অনুমোদন.
সাধারণ পর্যালোচনাকারীর দায়িত্ব
আপনি ডিজাইনের নথি পর্যালোচনা করার জন্য, প্রয়োজনে অতিরিক্ত তথ্যের জন্য জিজ্ঞাসা করার এবং পর্যালোচনা প্রক্রিয়াটি পাস করে এমন একটি নকশা অনুমোদন করার জন্য দায়ী।
যখন আপনি একটি নতুন প্রস্তাব পাবেন
- নথিটি দ্রুত দেখে নিন।
- সমালোচনামূলক তথ্য অনুপস্থিত থাকলে মন্তব্য করুন, বা নকশাটি প্রকল্পের লক্ষ্যের সাথে খাপ খায় না।
- অতিরিক্ত পর্যালোচকদের পরামর্শ দিন।
- পর্যালোচনার জন্য প্রস্তুত হলে PR অনুমোদন করুন।
পর্যালোচনা প্রক্রিয়া চলাকালীন
- সমস্যাযুক্ত বা স্পষ্টীকরণের প্রয়োজন এমন সমস্যাগুলির বিষয়ে ডিজাইন লেখকের সাথে একটি কথোপকথনে নিযুক্ত হন।
- উপযুক্ত হলে, অ-পর্যালোচকদের থেকে মন্তব্য আমন্ত্রণ করুন যারা ডিজাইন সম্পর্কে সচেতন হওয়া উচিত।
- অনুমোদনের পূর্বশর্ত হিসাবে লেখকের দ্বারা কোন মন্তব্যগুলি সম্বোধন করা উচিত তা নির্ধারণ করুন।
- আলোচনার থ্রেডে "LGTM" ( আমার কাছে ভালো লাগছে ) লিখুন যখন আপনি প্রস্তাবের বর্তমান অবস্থা নিয়ে খুশি হন।
সমস্ত নকশা পর্যালোচনা অনুরোধের জন্য এই প্রক্রিয়া অনুসরণ করুন. বেজেলকে প্রভাবিত করে এমন ডিজাইনগুলি অনুমোদন করবেন না যদি সেগুলি ডিজাইন সূচকে না থাকে৷
লিড রিভিউয়ার দায়িত্ব
আপনি একটি মুলতুবি নকশা বাস্তবায়নে যেতে/না-গো সিদ্ধান্ত নেওয়ার জন্য দায়ী। আপনি যদি এটি করতে সক্ষম না হন, তাহলে আপনার উচিত একজন উপযুক্ত প্রতিনিধিকে চিহ্নিত করা (প্রেতিনিধিকে PR পুনরায় অর্পণ করা), অথবা বাগটিকে আরও স্বভাবের জন্য একজন Bazel ম্যানেজারের কাছে পুনরায় অর্পণ করা।
পর্যালোচনা প্রক্রিয়া চলাকালীন
- নিশ্চিত করুন যে মন্তব্য এবং নকশা পুনরাবৃত্তি প্রক্রিয়া গঠনমূলকভাবে এগিয়ে যায়।
- অনুমোদনের আগে, নিশ্চিত করুন যে অন্যান্য পর্যালোচকদের উদ্বেগের সমাধান করা হয়েছে।
সমস্ত পর্যালোচকদের দ্বারা অনুমোদনের পর
- নিশ্চিত করুন যে মেইলিং তালিকায় ঘোষণার পর থেকে কমপক্ষে 1 সপ্তাহ হয়েছে৷
- নিশ্চিত করুন যে পিআর স্ট্যাটাস আপডেট করে।
- প্রস্তাব লেখক কর্তৃক প্রেরিত পিআর অনুমোদন করুন।
নকশা প্রত্যাখ্যান
- নিশ্চিত করুন যে PR লেখক একটি PR পাঠাচ্ছেন; অথবা তাদের একটি পিআর পাঠান।
- PR নথির অবস্থা আপডেট করে।
- নথিতে একটি মন্তব্য যোগ করুন ব্যাখ্যা করুন কেন নকশাটি বর্তমান অবস্থায় অনুমোদিত হতে পারে না এবং পরবর্তী পদক্ষেপগুলির রূপরেখা, যদি থাকে (যেমন "অবৈধ অনুমানগুলি পুনরায় দেখুন এবং পুনরায় জমা দিন")।