পতাকার ব্যবহার এবং প্রকার নির্ধারণ করুন

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

পতাকার ব্যবহার নির্ধারণ করুন

কখন একটি ফিচার লঞ্চ ফ্ল্যাগ ব্যবহার করতে হবে তা নির্ধারণ করতে, এই নির্দেশিকাগুলো অনুসরণ করুন:

  • আপনি যদি এমন কোনো পরিবর্তন করেন যা AOSP কোডবেসকে অস্থিতিশীল করে তুলতে পারে, যেমন একটি নতুন ফিচার যোগ করা বা কোনো অত্যন্ত জটিল বাগ ঠিক করা, তাহলে একটি ফিচার লঞ্চ ফ্ল্যাগ ব্যবহার করুন।

  • বিপরীতভাবে, যদি আপনি এমন কোনো কোড পরিবর্তন করেন যা কোডবেসকে অস্থিতিশীল করার সম্ভাবনা রাখে না, যেমন কমেন্ট পরিবর্তন করা, তাহলে আপনার ফিচার লঞ্চ ফ্ল্যাগ ব্যবহার করার প্রয়োজন নেই।

পতাকার ধরন নির্ধারণ করুন

ফ্ল্যাগ দুই প্রকারের হয়: একনফিগ ফ্ল্যাগ এবং বিল্ড ফ্ল্যাগ

Aconfig ফ্ল্যাগ

টেস্টিং এবং রিলিজ প্রক্রিয়ার সময় অপ্রকাশিত কোডের এক্সিকিউশনকে প্রকাশিত কোড থেকে আলাদা করতে Aconfig ফ্ল্যাগ ব্যবহার করা হয়। Aconfig ফ্ল্যাগ রিড-রাইট বা রিড-অনলি হতে পারে।

  • রিড-রাইট অ্যাকনফিগ ফ্ল্যাগ হলো বুলিয়ান ভেরিয়েবল যা আপনি রানটাইমে সক্রিয় ( true সেট করে) বা নিষ্ক্রিয় ( false সেট করে) করতে পারেন। একটি প্রধান শাখার স্থিতিশীলতাকে প্রভাবিত না করে পরিবর্তনগুলি পরীক্ষা এবং রিলিজ করতে একটি রিড-রাইট ফ্ল্যাগ ব্যবহার করুন।

  • রিড-অনলি aconfig ফ্ল্যাগ হলো বুলিয়ান কনস্ট্যান্ট যা আপনি রানটাইমে পরিবর্তন করতে পারবেন না। স্থিতিশীল এবং রিলিজের জন্য প্রস্তুত কোডের ক্ষেত্রে আপনি রিড-রাইট aconfig ফ্ল্যাগগুলোকে রিড-অনলি aconfig ফ্ল্যাগে রূপান্তর করতে পারেন।

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

ফ্ল্যাগ তৈরি করুন

বিল্ড ফ্ল্যাগ হলো বিল্ড-টাইম কনস্ট্যান্ট (স্ট্রিং) এবং রানটাইমের সময় আপনি এগুলো পরিবর্তন করতে পারবেন না। যেসব ক্ষেত্রে aconfig ফ্ল্যাগ ব্যবহার করা যায় না, সেসব ক্ষেত্রে এই ফ্ল্যাগগুলো ব্যবহার করুন, যেমন:

  • আপনার কাছে আগে থেকে কম্পাইল করা বা বিল্ড করা একটি কোড আছে, যা আপনি বিল্ডে অন্তর্ভুক্ত করতে চান।
  • আপনি বিল্ড সিস্টেমেই পরিবর্তন আনতে চান।
  • কোডের আকার নিয়ন্ত্রণ করতে আপনি ডিপেন্ডেন্সিগুলোর চারপাশে ফ্ল্যাগ ব্যবহার করতে পারেন।