"আরে, তরুণ নিয়োগকারী, যারা প্রতিদিন একগুচ্ছ ভুল করে, এমনকি সহজ প্রোগ্রামগুলিতেও!

"উম... হাই, ডিয়েগো। ছেলে, তুমি সত্যিই জানো কিভাবে মানুষকে আনন্দ দিতে হয়!"

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

"ওহ, আচ্ছা তাহলে ধন্যবাদ, আমার সবচেয়ে ধাতব শিক্ষক! .

"এই পাঠের পরে আপনি আমাকে ধন্যবাদ জানাবেন। এখানে আমি কম্পাইলার দ্বারা উল্লেখ করা সবচেয়ে জনপ্রিয় ত্রুটিগুলির তালিকা করতে যাচ্ছি। এবং আপনার কাজটি মনে রাখা।

একটি সেমিকোলন ভুলে যাওয়া

"সবচেয়ে সাধারণ ভুল উচ্চাকাঙ্ক্ষী জাভা প্রোগ্রামাররা করে থাকে সেমিকোলন জড়িত। অথবা বরং, এটির অনুপস্থিতি যেখানে হওয়া উচিত।"

"সত্যি বলছি... আমি বারবার এই অপরাধ করেছি।"

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

ত্রুটির উদাহরণ:

ভুল কোড সঠিক কোড
int a
int b = 5
int c = a + b
int a;
int b = 5;
int c = a + b;
System.out.println("Hello")
System.out.println("Hello");
if (2 > 3)
   System.out.println("Are we in Australia?")
if (2 > 3)
   System.out.println("Are we in Australia?");

উদ্ধৃতি বন্ধ করতে ভুলে যাওয়া

"জাভাতে নতুনদের জন্য দ্বিতীয় সবচেয়ে সাধারণ ভুল হল কোডে একটি স্ট্রিং লেখা এবং তারপর উদ্ধৃতিটি বন্ধ করতে ভুলে যাওয়া।

কোডের প্রতিটি স্ট্রিং লিটারেল অবশ্যই উভয় পাশে ডবল উদ্ধৃতি চিহ্ন (") দিয়ে আবদ্ধ করা উচিত। শিক্ষানবিস প্রোগ্রামাররা প্রায়শই পাঠ্যের শুরুতে উদ্ধৃতি চিহ্ন রাখে, কিন্তু তারা শেষে সেগুলি বন্ধ করতে ভুলে যায়।

ভুল কোড সঠিক কোড
String s = "Hello;
String s = "Hello";
System.out.println("Hello);
System.out.println("Hello");
String s = "Hello";
String message = s + " and by. ;
String s = "Hello";
String message = s + " and bye.";

স্ট্রিং একসাথে আঠালো করার সময় একটি প্লাস চিহ্ন অন্তর্ভুক্ত করতে ভুলে যাওয়া

"স্ট্রিংগুলির সাথে কাজ করার সময় আরেকটি সাধারণ ভুল হল স্ট্রিংগুলিকে একত্রে আঠালো করার সময় একটি প্লাস চিহ্ন লিখতে ভুলে যাওয়া৷ এই ত্রুটিটি বিশেষভাবে প্রচলিত যখন টেক্সট এবং ভেরিয়েবলগুলিকে কোডে একটি দীর্ঘ অভিব্যক্তিতে সংযুক্ত করা হয়৷

এখানে কিছু উদাহরণঃ:

ভুল কোড সঠিক কোড
String s = "Hello";
String message = s  " and bye.";
String s = "Hello";
String message = s + " and bye.";
int age = 35;
System.out.println("Age=" age);
int age = 35;
System.out.println("Age=" + age);
int age = 35;
System.out.println("Age=", age);
int age = 35;
System.out.println("Age=" + age);

কোঁকড়া ধনুর্বন্ধনী বন্ধ করতে ভুলে যাওয়া

"এটি একটি খুব সাধারণ ভুল৷ দুটি পরিস্থিতি রয়েছে যেখানে এটি সাধারণ:

  1. আপনি কোথাও থেকে কোড কপি করার সিদ্ধান্ত নিয়েছেন এবং ঘটনাক্রমে কিছু কোঁকড়া ধনুর্বন্ধনী মিস করেছেন।
  2. প্রতিটি খোলা বন্ধনী একটি বন্ধ বন্ধনীর সাথে মিলেছে তা নিশ্চিত করতে আপনি কেবল নিজেকে সমস্যায় ফেলছেন না।"

"দ্বিতীয় বিকল্প হল আমি যা করি। মাঝে মাঝে আমি এতটাই বয়ে যাই যে আমি ভুলে যাই!" .

"এই ত্রুটিগুলি এড়াতে, প্রাথমিক প্রোগ্রামারদের জন্য সাধারণত খোলার নীচে ক্লোজিং কোঁকড়া বন্ধনী লেখার পরামর্শ দেওয়া হয়৷

উদাহরণ:

ভুল কোড সঠিক কোড
if (2 < 3)
{
   if (3 < 4)
   {
      System.out.println("Mathematics!");
   }
if (2 < 3)
{
   if (3 < 4)
   {
      System.out.println("Mathematics!");
   }
}
{
   if (2 < 3)
   {
      if (3 < 4)
      {
         System.out.println("Mathematics!");
      }
   }
{
   if (2 < 3)
   {
      if (3 < 4)
      {
         System.out.println("Mathematics!");
      }
   }
}

বন্ধনী যোগ করতে ভুলে যাচ্ছেন

"প্রায়শই এই ভুলটি ডেভেলপারদের দ্বারা করা হয় যারা প্রোগ্রামিং ভাষা জানেন যে একই পরিস্থিতিতে বন্ধনীর প্রয়োজন হয় না।

একটি সম্ভাবনা হল যে তারা কেবল একটি পদ্ধতি কলের শেষে বন্ধনী রাখতে ভুলে যায়:

if-elseআরেকটি সম্ভাবনা হল যে তারা বন্ধনীতে একটি বিবৃতির শর্ত মোড়ানো ভুলে গেছে ।

উদাহরণ:

ভুল কোড সঠিক কোড
System.out.println("Hello!");
System.out.println;
System.out.println("And bye!");
System.out.println("Hello!");
System.out.println();
System.out.println("And bye!");
if 2 < 3
{
   if 3 < 4
   {
      System.out.println("Mathematics!");
   }
}
if (2 < 3)
{
   if (3 < 4)
   {
      System.out.println("Mathematics!");
   }
}

mainপদ্ধতির ঘোষণা ভুলভাবে লেখা

"যখন তারা রক্তাক্ত mainপদ্ধতি ঘোষণা করে! সম্ভবত এই খারাপ পদ্ধতির মতো নতুনদের ট্রিপ দেওয়ার মতো কিছুই নেই। গুরুত্বপূর্ণভাবে, তারপরে তারা সর্বদা অবাক হয় এবং ভাবতে থাকে কেন তাদের প্রোগ্রাম শুরু হবে না? এবং অবশ্যই, প্রোগ্রামার নয় দোষ নেই, কিন্তু প্রোগ্রাম, কম্পাইলার, কোড ভ্যালিডেটর, জাভা মেশিন ইত্যাদি। বলির পাঁঠার তালিকা অফুরন্ত।

উদাহরণ:

ভুল কোড ব্যাখ্যা
static void main(String[] args)
publicঅনুপস্থিত
public void main(String[] args)
staticঅনুপস্থিত
public main(String[] args)
voidঅনুপস্থিত
void main(String[] args)
publicএবং staticঅনুপস্থিত
public static void main(String args)
[]অনুপস্থিত
public static void main()
String[] argsঅনুপস্থিত
public static int main(String args)
আমরা intপরিবর্তে আছেvoid

ফাইলের নামটি ক্লাসের নাম থেকে আলাদা

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

ফাইলের নাম শ্রেণির নাম বিঃদ্রঃ
সমাধান জাভা সমাধান সবকিছু ঠিক আছে
সমাধান s .java সমাধান একটি অতিরিক্ত অক্ষর 's' হিসাবে ফাইলের নাম
s olution.java সমাধান ফাইলের নাম একটি ছোট হাতের অক্ষর দিয়ে শুরু হয়
সমাধান। txt সমাধান ফাইল এক্সটেনশন হল .java এর পরিবর্তে .txt
সমাধান জাভা সমাধান ক্লাসের নাম ছোট হাতের অক্ষর দিয়ে শুরু হয়

public"আসলে, .java এক্সটেনশনের সাথে একটি ফাইলে বেশ কয়েকটি ক্লাস ঘোষণা করা যেতে পারে, তবে তাদের মধ্যে শুধুমাত্র একটিতে ক্লাসের নামের আগে শব্দ থাকতে পারে। এবং এটি সেই নাম যা অবশ্যই ফাইলের নামের সাথে মেলে।

"একটি .java ফাইলের সর্বদা একটি শ্রেণী থাকতে হবে যার নামটি ফাইলের নামের মতই, এবং সেই ক্লাসে পরিবর্তনকারী থাকা প্রয়োজন public৷ উদাহরণ:

সমাধান জাভা
public class Solution
{
}

class Apple
{
}

class Pineapple
{
}

"অতিরিক্ত, জাভা ল্যাঙ্গুয়েজ আপনাকে ক্লাসের মধ্যে ক্লাস লিখতে দেয়। উপরের সীমাবদ্ধতার কাছাকাছি যাওয়ার এটি আরেকটি উপায়। যদি একটি পাবলিক ক্লাস (সংশোধনকারী সহ একটি ক্লাস public) একটি ফাইলে ঘোষণা করা হয় এবং ফাইলের নামের মতো একই নাম থাকে, তারপরে আপনি এই পাবলিক ক্লাসের মধ্যে যত খুশি ক্লাস ঘোষণা করতে পারেন। এতে বলা হয়েছে, এগুলি আর সাধারণ ক্লাস হবে না। পরিবর্তে, সেগুলি অভ্যন্তরীণ বা নেস্টেড ক্লাস হবে। উদাহরণ:

সমাধান জাভা
public class Solution
{
   public class Apple
   {
   }

   public static class Pineapple
   {
   }
}

লিখতে ভুলে যাইpackage

"যেহেতু প্রোগ্রামগুলিতে সাধারণত হাজার হাজার ক্লাস থাকে, সেগুলির জন্য সহজ, বোধগম্য এবং অনন্য নামগুলি খুঁজে পাওয়া কঠিন হতে পারে৷ তাই জাভাতে কীওয়ার্ড ব্যবহার করে ক্লাসগুলিকে প্যাকেজে গোষ্ঠীভুক্ত করা প্রথাগত৷ ঠিক যেভাবে ফাইলগুলিকে গোষ্ঠীবদ্ধ করা হয় package৷ ফোল্ডারে।"

"আহ-হা, তাই প্রতিটি ক্লাসের প্যাকেজের একটি ইঙ্গিত দিয়ে শুরু করা উচিত যা এটির অন্তর্গত।"

"ঠিক। এখানে একটি উদাহরণ:

প্যাকেজ ছাড়া কোড সঠিক উদাহরণ
public class Solution
{
}
package en.codegym.tasks.task0001;

public class Solution
{
}

যোগ করতে ভুলে গেছিimport

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

আমদানি ব্যবহার না করেই আমদানি ব্যবহার করে
public class Solution
{
   java.util.Scanner scanner = new java.util.Scanner();
}
import java.util.Scanner;

public class Solution
{
   Scanner console = new Scanner();
}

"উভয় বিকল্পই কাজ করে, কিন্তু আপনি যদি Scannerযোগ না করেই আপনার কোডে লিখতে importপারেন, তাহলে কম্পাইলার বুঝতে পারবে না কোন প্যাকেজ Scannerথেকে ক্লাস নিতে হবে এবং আপনার প্রোগ্রাম কম্পাইল করবে না।"

"আপনাকে ধন্যবাদ, দিয়েগো। এই পাঠটি আমাকে আরও মনোযোগ দিতে সাহায্য করবে।"

"এটাই আমি গণনা করছিলাম। শুভকামনা!"