ডিবাগিং, রিফ্যাক্টর, আর আর্কিটেকচার রিভিউয়ের জন্য Claude কোডিং প্রম্পট প্যাক

দ্রুত উত্তর

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

যে চারটি শর্ত নিচের প্রতিটি প্রম্পটকে কার্যকর করে

প্রম্পটগুলোর আগে, সব কটির মধ্যে সাধারণ নিয়ম। যেকোনো কোডিং প্রম্পটে এগুলো যোগ করলে মডেল বদলানোর চেয়ে বেশি ভালো আউটপুট মেলে।

আপনার সংস্করণ জানান। ট্রেনিং ডেটা সেই মেজর ভার্সনের দিকে ঝুঁকে থাকে যা নিয়ে সবচেয়ে বেশি লেখা হয়েছে, যা প্রায়ই আপনি যেটা ব্যবহার করছেন সেটা নয়। We are on [framework] [version], [language] [version] বেশিরভাগ পুরনো উত্তর ঠেকিয়ে দেয়।

ডিফ সীমিত রাখুন। একটা ফিক্স চাইলে প্রায়ই একটা রিফ্যাক্টর পান। Change as little as possible, preserve existing structure and naming, and list every line you changed with a one line reason এই ডকুমেন্টের সবচেয়ে কাজের একটা বাক্য।

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

ব্যর্থতার ধরন জানতে চান। What could this break, and is this fixing the cause or the symptom? এআই সহায়তার সবচেয়ে খরুচে শ্রেণিটা ধরে ফেলে, যা এমন একটা পরিবর্তন যা লক্ষণ অদৃশ্য করে দেয় অথচ ত্রুটি থেকেই যায়।

ডিবাগিং

1. ক্রমবিন্যস্ত হাইপোথিসিস

Here is the error, the relevant code, and what I have already ruled out. Do not give me a fix yet. List the four most likely causes ranked by probability, and for each the single cheapest check that would confirm or eliminate it. Error: [paste]. Code: [paste]. Already ruled out: [list]. Stack: [language, framework, versions].

2. মাঝেমধ্যে দেখা দেওয়া বাগ

This fails intermittently, roughly [frequency], under [conditions]. Enumerate the categories of intermittent failure that could produce this specific symptom: timing, ordering, resource exhaustion, an external dependency, state leaking between runs, clock or timezone, caching. For each, say what in the code supports or contradicts it, and exactly what I should log to distinguish them. Code: [paste].

3. লোকালি কাজ করে

This works locally and fails in [environment]. List every category of environment difference that could cause this specific symptom: configuration, environment variables, versions, filesystem and case sensitivity, timezone and locale, network and DNS, permissions, resource limits, and build or bundling differences. Rank by likelihood given the symptom, and give me the diagnostic command for each.

4. নেওয়ার আগে ফিক্সটা ব্যাখ্যা করুন

Explain why this fix works, what it does not fix, and what it could break. If the real cause is elsewhere and this is a symptom patch, say so directly.

কোড রিভিউ

5. একটা ডিফ রিভিউ করুন

Review this diff as a demanding reviewer. Categories in priority order: correctness bugs, security issues, unhandled failure modes, race conditions, then style. For each finding give severity, the specific line, and why it matters in this codebase rather than in general. Do not comment on formatting. If the diff is sound, say so rather than manufacturing findings. Conventions: [describe]. Diff: [paste].

6. সিকিউরিটি পাস

Review this code for security issues specifically: injection, authentication and authorisation gaps, unsafe deserialisation, secrets in code or logs, unvalidated input reaching a sensitive operation, and dependency risk. For each, give the attack path concretely rather than naming the category. State clearly what you cannot assess without seeing [deployment, auth layer, data sensitivity].

7. ব্যর্থতার ধরন নিরীক্ষা

For each external call in this code, state what happens when it is slow, when it fails, when it returns unexpected data, and when it succeeds but partially. Which of those are currently unhandled, and which would be silent?

শেষেরটা একটা সাধারণ রিভিউয়ের চেয়ে বেশি আসল প্রোডাকশন সমস্যা খুঁজে পায়, কারণ এটা এমন পথ সম্পর্কে জিজ্ঞেস করে যার জন্য কেউ টেস্ট লেখেনি।

রিফ্যাক্টরিং আর আর্কিটেকচার

8. রিফ্যাক্টর পরিকল্পনা

Propose a sequenced plan to refactor [description]. Constraints: the public API of [x] cannot change, we deploy continuously so every step must be independently shippable, and tests must pass after each step. For each step give the change, the risk, how to verify it, and how to roll it back. Order by risk, lowest first. Do not write the code yet.

9. অন্য পক্ষের যুক্তি দিন

I am choosing [approach A] over [approach B] for [context and constraints]. Make the strongest case for B. What would have to be true about our constraints for B to be correct, and is any of it true here? Do not conclude that both are valid.

10. যা উত্তরাধিকারসূত্রে পেয়েছেন তা বুঝুন

Here are the main source files. Produce: the entry points, the data flow from request to response, the state that is shared and where it is mutated, external dependencies and what happens when each is unavailable, and the three areas most likely to contain bugs based on complexity and coupling. State explicitly what you cannot determine from what I provided.

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

টেস্ট

11. আপনি লিখতেন না এমন টেস্ট

Write test cases for this function, focusing on inputs I probably have not considered: boundaries, empty and null, unicode, very large values, concurrent calls, and any implicit assumption in the implementation. For each test, state the assumption it is checking. Function: [paste].

12. টেস্ট স্যুট পরীক্ষা করুন

Here is a function and its existing tests. What behaviour is not covered? Specifically: error paths, boundary values, interactions between parameters, and anything the implementation does that no test asserts. Do not rewrite the existing tests.

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

দ্বিতীয়-মতামত প্যাটার্ন

পুরো প্যাকের সবচেয়ে বেশি ফলদায়ক অভ্যাস, আর যেটার জন্য একের বেশি মডেল দরকার।

একটা মডেল থেকে উত্তর নিন। তারপর বদলে দিয়ে দিন:

Another engineer proposed this solution to this problem. Find what is wrong with it: correctness under edge cases, concurrency, error handling, performance at [scale], or a simpler approach that was missed. If it is genuinely sound, say so plainly rather than inventing objections. Problem: [paste]. Proposed solution: [paste].

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

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

যা লক্ষ্য রাখতে হবে

উদ্ভাবিত API। আত্মবিশ্বাসী মেথড নাম, প্যারামিটার, আর কনফিগ কী যেগুলোর অস্তিত্ব নেই, বিশেষ করে সম্প্রতি বদলে যাওয়া লাইব্রেরির ক্ষেত্রে। স্বাক্ষরটা দেখতে ঠিকই লাগবে। অপরিচিত কিছুর ওপর ভিত্তি করে বানানোর আগে আসল ডকুমেন্টেশন দেখে নিন।

কনফিডেন্স সিগন্যাল নেই। একটা সঠিক ফিক্স আর একটা সূক্ষ্মভাবে ভুল একই নিশ্চয়তা নিয়ে আসে। টোন আপনাকে কিছুই বলে না।

নীরব স্কোপ ক্রিপ। দ্বিতীয় শর্তটা এজন্যই আছে।

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

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

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

প্রায়ই জিজ্ঞাসিত প্রশ্ন

এই প্রম্পটগুলো কি শুধু Claude-এর সঙ্গে কাজ করে?

না। এগুলো লং-কনটেক্সট, সতর্ক-যুক্তির স্টাইলের জন্য লেখা যেটাতে Claude ভালো করে, আর এগুলো সরাসরি GPT আর Gemini-তেও কাজ করে। আসলে এদের কয়েকটা একাধিক মডেল জুড়ে ব্যবহার করলে আরও ভালো কাজ করে: দ্বিতীয়-মতামত প্রম্পটের জন্য দুটো মডেল লাগে, আর "অন্য পক্ষের যুক্তি দিন" প্রম্পটটা তখন বেশি কাজের হয় যখন যুক্তি দেওয়া মডেলটা আসল পছন্দটা করেনি।

কোন প্রম্পটের জন্য কোন মডেল ব্যবহার করব?

শুরুর বিন্দু হিসেবে: সূক্ষ্ম যুক্তি, অপরিচিত আর্কিটেকচার, আর কিছু কেন এভাবে আচরণ করে তা ব্যাখ্যার জন্য Claude; পরিচিত জমিতে দ্রুত ইমপ্লিমেন্টেশন আর কড়া স্ট্রাকচার্ড আউটপুটের জন্য GPT; সাধারণ একটা প্রম্পটে স্বচ্ছন্দে না আঁটা এমন প্রচুর কোড জড়িত প্রশ্নের জন্য একটা লার্জ-কনটেক্সট মডেল। এরপর নিজের এক সপ্তাহের তুলনা দিয়ে সেটা ওভাররাইড করুন, কারণ সঠিক উত্তর যেকোনো বেঞ্চমার্কের চেয়ে আপনার স্ট্যাকের ওপর বেশি নির্ভর করে।

এটা কি একটা এজেন্টিক কোডিং টুলের বিকল্প?

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

আমি জিজ্ঞেস না করা কোড পুনর্লিখন কীভাবে থামাব?

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

আমি কি প্রোপ্রাইটারি কোড পেস্ট করতে পারি?

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