জেমিনি কোড ব্যবহার করুন কোড কাস্টমাইজেশন সহায়তা

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

শুরু করার আগে

  1. এন্টারপ্রাইজ সাবস্ক্রিপশনের মাধ্যমে জেমিনি কোড অ্যাসিস্ট সেট আপ করুন
  2. জেমিনি কোড অ্যাসিস্ট কোড কাস্টমাইজেশন সেট আপ করুন

কোড কাস্টমাইজেশন কীভাবে ব্যবহার করবেন

নিম্নলিখিত টেবিলে জেমিনি কোড অ্যাসিস্ট কোড কাস্টমাইজেশন ব্যবহারের উপায়গুলি তালিকাভুক্ত করা হয়েছে:

ফর্ম কিভাবে ট্রিগার করবেন নোট এবং সম্পদ

স্বাভাবিক ভাষায় চ্যাট

IDE-তে Gemini Code Assist চ্যাটে একটি প্রাকৃতিক ভাষার প্রম্পট লিখুন।

নিম্নলিখিত বিষয়গুলি বিবেচনা করুন:

  • চ্যাট ইতিহাস উপলব্ধ নেই। বহু-পদক্ষেপের প্রশ্ন এড়িয়ে চলুন।
  • আপনি উৎস সম্পর্কে আরও বিস্তারিত জানতে চাইতে পারেন, নির্দিষ্ট উৎসের লিঙ্ক সহ।
  • চ্যাটে বার্তা পাঠানোর সময় যদি আপনি কোডটি হাইলাইট করেন বা নির্বাচন করেন, তাহলে জেমিনি কোড অ্যাসিস্ট কোড কাস্টমাইজেশন এবং চ্যাটের মান উন্নত করতে সেই কোডটি ব্যবহার করে।

আরও তথ্যের জন্য, চ্যাট উইথ জেমিনি কোড অ্যাসিস্ট দেখুন।

কোড তৈরি করুন আপনার IDE-এর কুইক পিক বারে, নির্বাচিত কোড সহ বা ছাড়াই, Command+Enter (macOS-এ) অথবা Control+Enter টিপুন। আরও তথ্যের জন্য, প্রম্পট সহ কোড তৈরি করুন দেখুন।
কোড রূপান্তর করুন আপনার IDE-এর কুইক পিক বারে, নির্বাচিত কোড সহ বা ছাড়াই, /fix লিখুন। আরও তথ্যের জন্য, প্রম্পট সহ কোড তৈরি করুন দেখুন।
স্বয়ংক্রিয়ভাবে সম্পন্ন করুন কোড কাস্টমাইজেশন স্বয়ংক্রিয়ভাবে ট্রিগার হয় এবং আপনি যা লেখেন তার উপর ভিত্তি করে পরামর্শ প্রদান করে।

নিম্নলিখিত বিষয়গুলি বিবেচনা করুন:

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

আরও তথ্যের জন্য, কোড সম্পূর্ণতা পান দেখুন।

দূরবর্তী সংগ্রহস্থল প্রসঙ্গ
  1. @ চিহ্ন দিয়ে আপনার প্রম্পট শুরু করুন। সূচীবদ্ধ উপলব্ধ দূরবর্তী সংগ্রহস্থলের একটি তালিকা প্রদর্শিত হবে।
  2. তালিকা থেকে প্রেক্ষাপটের জন্য আপনি যে রিপোজিটরিটি ব্যবহার করতে চান তা নির্বাচন করুন। তালিকাটি ফিল্টার করার জন্য আপনি রিপোজিটরির নাম টাইপ করা শুরু করতে পারেন।
  3. রিপোজিটরি নির্বাচন করার পর, আপনার বাকি প্রম্পটটি লিখুন।

নিম্নলিখিত বিষয়গুলি বিবেচনা করুন:

  • এজেন্ট মোডে সমর্থিত নয়।
  • এটি তখন কার্যকর যখন আপনি এমন কোনও কাজে কাজ করেন যা বেশিরভাগই নির্দিষ্ট মাইক্রোসার্ভিসেস, লাইব্রেরি বা মডিউলের সাথে সম্পর্কিত।

আরও তথ্যের জন্য, দূরবর্তী সংগ্রহস্থল প্রসঙ্গে আরও প্রাসঙ্গিক পরামর্শ পান দেখুন।

কেস এবং প্রম্পট উদাহরণ ব্যবহার করুন

নিম্নলিখিত টেবিলে নির্দিষ্ট ব্যবহারের ক্ষেত্রে কোড কাস্টমাইজেশন ব্যবহারের নির্দেশিকা এবং উদাহরণ দেওয়া হয়েছে:

ব্যবহারের ধরণ চেষ্টা করার মতো জিনিস
নতুন কোড লেখা

আপনার IDE অথবা Gemini Code Assist চ্যাটে কোড তৈরি করতে নিম্নলিখিতগুলি চেষ্টা করুন:

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

জেমিনি কোড অ্যাসিস্ট চ্যাটে নিম্নলিখিত প্রম্পটগুলি ব্যবহার করে কোড তৈরি করার চেষ্টা করুন:

  • "একটি প্রধান ফাংশন লিখুন যেখানে DATABASE এর সাথে সংযোগ তৈরি করা হয়। স্বাস্থ্য পরীক্ষা অন্তর্ভুক্ত করুন।"
  • "নিম্নলিখিত কাঠামোতে একটি FUNCTION_OR_CLASS লিখুন: EXPLAIN_STRUCTURE ."

কিছু কোড তৈরি করার পরে, এটি উন্নত করার জন্য একটি ফলো-আপ প্রম্পট ব্যবহার করে দেখুন:

  • "জেনারেটেড কোডটি সামঞ্জস্য করতে /fix কমান্ডটি ব্যবহার করে দেখুন—যেমন, সিনট্যাক্স ত্রুটি।"
  • "অনুপস্থিত আমদানি যোগ করুন।"
  • "চ্যাট-জেনারেটেড কোডটি চেষ্টা করুন /fix ।"
কোড পরিষ্কার, সরলীকরণ এবং পুনঃফ্যাক্টরিং

জেমিনি কোড অ্যাসিস্ট চ্যাটে নিম্নলিখিত প্রম্পটগুলি চেষ্টা করে দেখুন:

  • "আপনি কি এই ফাইলে IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS মার্জ করতে পারবেন?"
  • "আপনি FUNCTION_NAME ফাংশনটি কীভাবে সরলীকৃত করবেন?"
  • "আপনি কি FUNCTION_NAME_1 এবং FUNCTION_NAME_2 একটি ফাংশনে মার্জ করতে পারবেন?"
  • "আপনি কি FUNCTION_NAME তে কিছু ভেরিয়েবল ইনলাইন করতে পারেন?"
  • "আপনি কি FUNCTION_NAME ফাংশনে ভেরিয়েবলের নামকরণ সহজ করতে পারেন?"
পঠনযোগ্যতা

জেমিনি কোড অ্যাসিস্ট চ্যাটে নিম্নলিখিত প্রম্পটগুলি চেষ্টা করে দেখুন:

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

জেমিনি কোড অ্যাসিস্ট চ্যাটে নিম্নলিখিত প্রম্পটগুলি চেষ্টা করে দেখুন:

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

জেমিনি কোড অ্যাসিস্ট চ্যাটে নিম্নলিখিত প্রম্পটগুলি চেষ্টা করে দেখুন:

  • "X/Y যোগ করার চেষ্টা করার সময় আমি একটি ত্রুটি পাচ্ছি। কেন?"
  • "আপনি কি FUNCTION_NAME ফাংশনে একটি ত্রুটি দেখতে পাচ্ছেন?"
  • "এই ত্রুটি বার্তাটি দেওয়া হলে, আপনি FUNCTION_NAME ফাংশনটি কীভাবে ঠিক করবেন?"
শেখা এবং অনবোর্ডিং

জেমিনি কোড অ্যাসিস্ট চ্যাটে নিম্নলিখিত প্রম্পটগুলি চেষ্টা করে দেখুন:

  • "এই কোডটিকে অংশে ভাগ করুন এবং আমাদের কোডবেস ব্যবহার করে প্রতিটি ব্যাখ্যা করুন।"
  • " FUNCTION_NAME ফাংশনটি কীভাবে কল করবেন তা দেখান?"
  • " ENVIRONMENT_NAME পরিবেশে মূল ফাংশনটি কীভাবে চালাতে হয় তা দেখান?"
  • "এই কোডটিকে আরও কার্যকর করার জন্য আমরা কী কী গুরুত্বপূর্ণ প্রযুক্তিগত উন্নতি করতে পারি?"
  • "আরও ভালো ফলাফল অর্জনের জন্য এবং সেই নির্দিষ্ট উপাদানটি কী তা যোগ করার জন্য আমাকে FUNCTION_OR_CLASS_NAME এর বাস্তবায়ন দেখান"—উদাহরণস্বরূপ, "foo ফাংশনের বাস্তবায়ন দেখান যেখানে foo হল ফাংশনের নাম।"
মাইগ্রেশন

জেমিনি কোড অ্যাসিস্ট চ্যাটে নিম্নলিখিত প্রম্পটগুলি চেষ্টা করে দেখুন:

  • "আমি কীভাবে FILE_NAME LANGUAGE_1 থেকে LANGUAGE_2 তে স্থানান্তর করতে পারি তার একটি কৌশল আমাকে দিন" - উদাহরণস্বরূপ, Go to Python থেকে।
  • "রিপোজিটরি REPOSITORY_NAME তে FUNCTION_NAME ফাংশনটি দেওয়া হয়েছে, LANGUAGE_NAME ভাষায় আমার জন্য এমন একটি সমতুল্য ফাংশন খুঁজে বের করো যা আমি ব্যবহার করতে পারি।"

প্রম্পট ব্যবহার করে নিম্নলিখিত চ্যাট-ভিত্তিক বা কোড জেনারেশন ট্রান্সফর্মেশন ওয়ার্কফ্লো ব্যবহার করে দেখুন:

  1. " LANGUAGE_1 তে ইতিমধ্যে লেখা FILENAME_COMPONENT কোডটি নিন এবং রিফ্যাক্টর করুন এবং এটিকে LANGUAGE_2 তে স্থানান্তর করুন" - উদাহরণস্বরূপ, Go to Python থেকে।
  2. কিছু কোড মাইগ্রেট করার পরে, নিম্নলিখিতগুলি চেষ্টা করুন:
    • ছোট ছোট অংশ নির্বাচন করুন এবং /fix ব্যবহার করে এটিকে আপনার পছন্দের অবস্থায় আনুন।
    • নিম্নলিখিত প্রম্পটগুলি চেষ্টা করে দেখুন:
      • "এমন কিছু কি আছে যা উন্নত করা যেতে পারে?"
      • "আমাকে সম্ভাব্য ব্যথার জায়গাগুলো দাও।"
      • "যদি মাইগ্রেশনটি সঠিক হয় তবে আপনি এই কোডটি কীভাবে পরীক্ষা করবেন?"
ডকুমেন্টেশন তৈরি করা হচ্ছে

জেমিনি কোড অ্যাসিস্ট চ্যাটে নিম্নলিখিত প্রম্পটগুলি চেষ্টা করে দেখুন:

  • "প্যাকেজ বা ফোল্ডার X এ কোডটি সারসংক্ষেপ করুন এবং শীর্ষ পাঁচটি গুরুত্বপূর্ণ পদ্ধতির জন্য ডকুমেন্টেশন প্রদান করুন।"
  • " FUNCTION_OR_CLASS_NAME এর জন্য ডকুমেন্টেশন তৈরি করুন।"
  • "মূল তথ্য সংরক্ষণের সময় ডকুমেন্টেশন ছোট করুন।"
ইউনিট পরীক্ষা তৈরি

জেমিনি কোড অ্যাসিস্ট চ্যাটে নিম্নলিখিত প্রম্পটগুলি চেষ্টা করে দেখুন:

  • " FILENAME এর জন্য ইউনিট পরীক্ষা তৈরি করুন।"
  • " FUNCTION_NAME ফাংশনের জন্য সবচেয়ে প্রাসঙ্গিক পরীক্ষার কেস যোগ করুন।"
  • "যেসব পরীক্ষার কেস আপনার মনে হয় খুব বেশি মূল্য বহন করে না, সেগুলো সরিয়ে ফেলুন।"

সেরা অনুশীলন

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

রিমোট রিপোজিটরি প্রসঙ্গে আরও প্রাসঙ্গিক পরামর্শ পান

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

প্রসঙ্গ হিসেবে একটি রিমোট রিপোজিটরি ব্যবহার করতে, আপনার IDE এর চ্যাটে এই পদক্ষেপগুলি অনুসরণ করুন:

  1. @ চিহ্ন দিয়ে আপনার প্রম্পট শুরু করুন। সূচীবদ্ধ উপলব্ধ দূরবর্তী সংগ্রহস্থলের একটি তালিকা প্রদর্শিত হবে।
  2. তালিকা থেকে প্রেক্ষাপটের জন্য আপনি যে রিপোজিটরিটি ব্যবহার করতে চান তা নির্বাচন করুন। তালিকাটি ফিল্টার করার জন্য আপনি রিপোজিটরির নাম টাইপ করা শুরু করতে পারেন।
  3. রিপোজিটরি নির্বাচন করার পর, আপনার বাকি প্রম্পটটি লিখুন।

এরপর জেমিনি একটি প্রতিক্রিয়া তৈরি করার সময় নির্বাচিত সংগ্রহস্থলটিকে অগ্রাধিকার দেবে।

উদাহরণ প্রম্পট

আপনি এই বৈশিষ্ট্যটি কীভাবে ব্যবহার করতে পারেন তার কিছু উদাহরণ এখানে দেওয়া হল:

  • একটি সংগ্রহস্থল বোঝার জন্য:
    • " @REPOSITORY_NAME REPOSITORY_NAME সংগ্রহস্থলের সামগ্রিক কাঠামো কী?"
    • " @REPOSITORY_NAME আমি একজন নতুন টিম সদস্য REPOSITORY_NAME আপনি কি আমাকে এই রিপোজিটরির উদ্দেশ্য এবং মূল মডিউলগুলির একটি সারসংক্ষেপ দিতে পারেন?"
  • কোড তৈরি এবং পরিবর্তনের জন্য:
    • " @REPOSITORY_NAME এই রিপোজিটরির মতো একটি প্রমাণীকরণ ফাংশন বাস্তবায়ন REPOSITORY_NAME ।"
    • " @REPOSITORY_NAME নির্বাচিত সংগ্রহস্থলের নিয়মাবলী অনুসরণ করতে নিম্নলিখিত কোডটি পুনঃফ্যাক্টর REPOSITORY_NAME ।"
    • " @ REPOSITORY_A_NAME REPOSITORY_B_NAME এ আমার কোড উন্নত করার জন্য আমি কীভাবে এই সংগ্রহস্থলের সর্বশেষ ফাংশনগুলি ব্যবহার করতে পারি?"
  • পরীক্ষার জন্য:
    • " @UNIT_TEST_FILE_NAME নির্বাচিত ফাইলের উদাহরণের উপর ভিত্তি করে MODULE জন্য ইউনিট পরীক্ষা তৈরি করুন UNIT_TEST_FILE_NAME "

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