IntelliJ IDEA দিয়ে প্রথম Java প্রজেক্ট তৈরি ও ডিবাগার ব্যবহার করে বাগ খুঁজে বের করার সম্পূর্ণ পদ্ধতি

টিউন বিভাগ জাভা
প্রকাশিত

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

আরও বড় সমস্যা হয় বাগ খোঁজার সময়। বেশিরভাগ নতুন প্রোগ্রামার বাগ খুঁজতে জায়গায় জায়গায় প্রিন্ট স্টেটমেন্ট বসান, তারপর আউটপুট দেখে অনুমান করেন কোথায় ভুল হচ্ছে। কিন্তু একটি IDE এর ডিবাগার ব্যবহার করলে প্রোগ্রামটি লাইনে লাইনে থামিয়ে প্রতিটি ভ্যারিয়েবলের ভেতরের মান নিজের চোখে দেখা যায়। এই টিউনে IntelliJ IDEA Community Edition ইনস্টল করা, প্রথম প্রজেক্ট তৈরি করা, একটি বাগযুক্ত প্রোগ্রাম লিখে ব্রেকপয়েন্ট দিয়ে সেই বাগ ধরা এবং সেটি ঠিক করা পর্যন্ত পুরো প্রক্রিয়াটি ধাপে ধাপে দেখাব।

যা যা লাগবে

  • কম্পিউটারে আগে থেকে JDK ইনস্টল থাকা, অর্থাৎ Command Prompt এ java -version কমান্ডটি কাজ করা
  • Windows 10 বা Windows 11, সাথে ন্যূনতম ৪ জিবি RAM, তবে ৮ জিবি হলে অনেক স্বচ্ছন্দে কাজ করা যায়
  • প্রায় ৩ জিবি ফ্রি স্টোরেজ এবং ইন্টারনেট সংযোগ

ধাপ ১: IntelliJ IDEA Community Edition ইনস্টল করা

IntelliJ IDEA এর দুইটি সংস্করণ আছে, Ultimate সংস্করণটি টাকা দিয়ে কিনতে হয় আর Community Edition সম্পূর্ণ ফ্রি ও ওপেন সোর্স। সাধারণ Java শেখা ও ডেস্কটপ প্রোগ্রামিংয়ের জন্য Community Edition যথেষ্ট।

  • JetBrains এর অফিসিয়াল ডাউনলোড পাতা থেকে Windows এর জন্য Community Edition এর exe ফাইলটি নামান
  • ইনস্টলার চালু করে Next দিন, ইনস্টল লোকেশন ডিফল্ট রাখলেই হবে
  • Installation Options অংশে Create Desktop Shortcut এবং Add bin folder to the PATH দুটি অপশনে টিক দিন
  • Create Associations অংশে java অপশনে টিক দিলে java ফাইলে ডাবল ক্লিক করলেই IntelliJ IDEA তে খুলবে
  • Install শেষ হলে Run IntelliJ IDEA অপশনে টিক দিয়ে Finish দিন

প্রথমবার চালু করলে ইউজার এগ্রিমেন্ট মেনে নিতে হয় এবং থিম বেছে নিতে বলা হয়। এখানে Dark বা Light যেটি চোখে আরাম লাগে সেটি বেছে নিন, পরে সেটিংস থেকে বদলানো যায়।

ধাপ ২: প্রথম Java প্রজেক্ট তৈরি করা

Welcome স্ক্রিনে New Project বাটনে ক্লিক করলে প্রজেক্ট তৈরির উইন্ডো আসবে। এখানে কয়েকটি ঘর সঠিক ভাবে পূরণ করা জরুরি।

  • Name ঘরে প্রজেক্টের নাম দিন, যেমন JavaPracticeLab, নামের মাঝে স্পেস না রাখা ভালো
  • Location ঘরে প্রজেক্টটি কোথায় সেভ হবে তা ঠিক করুন
  • বাম পাশের তালিকা থেকে Java নির্বাচন করুন, Maven বা Gradle এখন দরকার নেই
  • JDK ঘরে আপনার ইনস্টল করা JDK দেখাচ্ছে কিনা দেখুন, না দেখালে Add JDK থেকে JDK ফোল্ডারটি দেখিয়ে দিন
  • Add sample code অপশনে টিক দিন, এতে একটি প্রস্তুত Main ক্লাস তৈরি হয়ে যাবে
  • Create বাটনে ক্লিক করুন

প্রজেক্টের ভেতরের ফোল্ডার গুলো চিনে নিন

প্রজেক্ট তৈরি হলে বাম পাশে যে ফোল্ডার গুলো দেখবেন সেগুলোর কাজ আলাদা।

  • src ফোল্ডারে আপনার লেখা সব সোর্স কোড অর্থাৎ java ফাইল গুলো থাকে
  • out ফোল্ডারে কম্পাইল হওয়া class ফাইল গুলো জমা হয়, এটি IntelliJ IDEA নিজেই তৈরি করে
  • idea নামের লুকানো ফোল্ডারে প্রজেক্টের সেটিংস থাকে, এটি হাতে বদলানোর দরকার নেই

ধাপ ৩: বাগযুক্ত একটি প্রোগ্রাম লিখে ফেলা

ডিবাগার শেখার সবচেয়ে ভালো উপায় হচ্ছে ইচ্ছে করে একটি ভুল রেখে দেওয়া। src ফোল্ডারে ডান বাটন ক্লিক করে New থেকে Java Class নির্বাচন করুন এবং নাম দিন MarkAverage. এরপর নিচের কোডটি লিখুন।

public class MarkAverage {public static void main(String[] args) {int[] marks = {72, 85, 66, 91, 58}; int total = 0; for (int i = 0; i < marks.length; i+) {total = total + marks[i];} int average = total / marks.length; System.out.println("মোট নম্বর " + total); System.out.println("গড় নম্বর " + average);}

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

ধাপ ৪: ব্রেকপয়েন্ট বসিয়ে ডিবাগ মোডে চালানো

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

  • যে লাইনে average হিসাব হচ্ছে সেই লাইনের বাম পাশের ফাঁকা জায়গায় ক্লিক করুন, একটি লাল গোল চিহ্ন বসবে
  • এবার Shift ও F9 চেপে ডিবাগ মোডে প্রোগ্রামটি চালান
  • প্রোগ্রামটি লাল লাইনে এসে থেমে যাবে এবং নিচে Debug প্যানেল খুলবে
  • Variables অংশে total, marks ও i এর বর্তমান মান দেখতে পাবেন
  • F8 চাপলে এক লাইন সামনে এগোবে, F7 চাপলে কোনো মেথডের ভেতরে ঢুকে যাবে
  • F9 চাপলে পরের ব্রেকপয়েন্ট পর্যন্ত এক টানে চলে যাবে

Evaluate Expression দিয়ে হাতে নাতে পরীক্ষা

ডিবাগার থামা অবস্থায় Alt ও F8 চাপলে Evaluate Expression বক্স খোলে। সেখানে total ভাগ marks.length লিখে চালালে দেখবেন ফল আসছে ৭৪, অথচ ভাগফল হওয়া উচিত ৭৪ দশমিক ৪। এখানেই পরিষ্কার হয়ে যায় যে সমস্যা হিসাবের লজিকে নয়, বরং ডেটা টাইপে।

ধাপ ৫: বাগটি বুঝে ঠিক করা

Java তে একটি int কে আরেকটি int দিয়ে ভাগ করলে ফলাফলও int হয়, তাই দশমিকের পরের অংশটুকু কেটে ফেলা হয়। এটিকে বলা হয় Integer Division. সমাধান হচ্ছে হিসাবের সময় অন্তত একটি সংখ্যাকে double এ রূপ দেওয়া।

double average = (double) total / marks.length;
System.out.printf("গড় নম্বর %.2f%n", average);

এবার প্রোগ্রামটি চালালে গড় নম্বর ৭৪ দশমিক ৪০ দেখাবে। মনে রাখবেন, কাস্ট করার সময় total এর আগে double বসাতে হয়, পুরো ভাগফলের আগে বসালে আগে int এ ভাগ হয়ে যাবে এবং সমস্যাটি থেকেই যাবে।

কাজের গতি বাড়াতে দরকারি শর্টকাট

  • sout লিখে Tab চাপলে প্রিন্ট লাইনটি নিজে থেকে তৈরি হয়
  • Ctrl, Alt ও L একসাথে চাপলে পুরো কোড সুন্দর করে ফরম্যাট হয়ে যায়
  • লাল দাগ দেওয়া কোডে Alt ও Enter চাপলে IntelliJ IDEA নিজেই সমাধানের প্রস্তাব দেয়
  • Ctrl ও B চাপলে কোনো মেথড বা ক্লাসের মূল ঘোষণায় সরাসরি চলে যাওয়া যায়
  • Shift দুইবার চাপলে পুরো প্রজেক্টে যেকোনো ফাইল বা সেটিংস খুঁজে পাওয়া যায়

কমন সমস্যা ও সমাধান

Project SDK is not defined

প্রজেক্টে JDK সেট করা নেই। File মেনু থেকে Project Structure খুলে Project অংশে গিয়ে SDK ঘরে আপনার ইনস্টল করা JDK নির্বাচন করুন।

Cannot resolve symbol লেখা লাল দাগ

সাধারণত ফাইলটি src ফোল্ডারের বাইরে থাকলে বা প্রয়োজনীয় import না থাকলে এমন হয়। ক্লাস ফাইলটি src এর ভেতরে আছে কিনা দেখুন, এরপর লাল দাগে Alt ও Enter চেপে Import class প্রস্তাবটি নিন।

ব্রেকপয়েন্টে প্রোগ্রাম থামছে না

Shift ও F10 দিয়ে সাধারণ Run মোডে চালালে ব্রেকপয়েন্ট কাজ করে না। ডিবাগ মোডে অর্থাৎ Shift ও F9 দিয়ে চালাতে হয়। এছাড়া ব্রেকপয়েন্ট এমন লাইনে বসালে কাজ করে না যেখানে কোনো কোড নেই, যেমন ফাঁকা লাইন বা শুধু বন্ধনী আছে এমন লাইন।

IntelliJ IDEA খুব ধীরে চলছে

Help মেনু থেকে Change Memory Settings এ গিয়ে হিপ মেমোরি ৭৫০ মেগাবাইট বা তার বেশি করে দিন, এবং একসাথে অনেক প্রজেক্ট খুলে না রাখুন।

শেষ কথা

ডিবাগার ব্যবহার শেখা মানে অনুমান করে বাগ খোঁজার অভ্যাস থেকে বেরিয়ে আসা। ব্রেকপয়েন্ট, Step Over আর Evaluate Expression এই তিনটি জিনিস ঠিকঠাক ব্যবহার করতে পারলে যেকোনো লজিক ভুল অনেক দ্রুত ধরা পড়বে, আর ইন্টিজার ডিভিশনের মত ছোট অথচ ভয়ংকর ভুল গুলো আর চোখ ফাঁকি দিতে পারবে না।

আপনি এখন পর্যন্ত কোন বাগটি খুঁজে বের করতে সবচেয়ে বেশি সময় নষ্ট করেছেন, টিউমেন্টে জানান। ডিবাগার দিয়ে সেটি কীভাবে ধরা যেত তা নিয়ে আলোচনা করা যাবে।

Level 0

আমি নাছিরুল হক। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 13 ঘন্টা 7 মিনিট যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 5 টি টিউন ও 0 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস