Overblog
Edit post Follow this blog Administration + Create my blog
Afjal Hossain

প্রোগ্রামিং এর কিছু কমন ভুলত্রুটি........

May 14 2018 , Written by Easy Java Programming

টিউন-৮ঃ  প্রোগ্রামিং এ যারা নতুন আসে  তাদের কোডিং করার সময় কিছু কমন ভুল হয়ে থাকে আমরা এই পর্বে সেই ছোট ছোট ভুল গুলো  কি ধরনের হয় এবং ভুল গুলো কিভাবে হয়ে থাকে আর কিভাবে এই ভুল গুলো থেকে নিজেকে বিরত রাখবো তারপর এই ছোট ছোট ভুল থেকে কিভাবে বের হয়ে আসা যায় সেই বিষয় গুলোই বিশ্লেষণ করবো.....................  

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

সেমিকলন দিতে মনে নেইঃ 

প্রোগ্রামের স্টেটমেন্ট শেষ করার পর শেষে সেমিকলন(;) দিয়ে শেষ করতে হয় । এটা বাধ্যতা মূলক কারন একটি স্টেটমেন্ট শেষ করার পর সেমিকলন বাদে আরেকটি স্টেটমেন্ট শুরু করলে প্রোগ্রাম কম্পাইলার দুই স্টেটমেন্টকে একটি স্টেটমেন্ট মনে করে এবং তখন কম্পাইলার বুঝতে পারে না সেই স্টেটমেন্ট দ্বারা আসলে  কি বুঝানো হয়েছে। তখন কম্পাইলার এটাকে একটি প্রোগ্রামের ত্রুটি হিসাবে বিবেচনা করে এবং প্রোগ্রামকে সেখানেই থামিয়ে দেয় যতক্ষন সেই স্টেটমেন্ট দুটোকে সেমিকলন দিয়ে আলেদা না করা হয়। আর এই ভুলটাই নতুন প্রোগ্রামারদের ক্ষেত্রে বেশি দেখা যায়।

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

ছোট বড় অক্ষরের সমন্বয়ঃ

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

তাই এই ব্যাপারটা খুব মনোযোগের সাথে খেয়াল রাখতে হবে যেন অক্ষরের সমন্বয় ঠিক থাকে। তাছাড়া কম্পাইলার ত্রুটি ধরবে । যদি এটি প্রোগ্রামার ঠিক মতো ত্রুটি টি ধরতে না পারে বা বুঝতে না পারে তাহলে পুরো দিনের কষ্ট টাই মাটি হয়ে যেতে পারে,  এই ভেবে যে আমিতো ভেরিয়েবল ঠিকি লিখেছি  কিন্তু কম্পাইলার ভুল ধরছে কেন? তাই নজর রাখবেন যেই নামে ভেরিয়েবল লিখেছেন সেই ফরমেট অনুযারী অন্য জায়গায় ভেরিয়েবল ব্যবহার করবেন। এইটা শুধু ভেরিয়েবল নয় সব জায়গার ঠিক রাখতে হবে যেমন কন্ডিশন লিখতে বা ফাংশন এর নাম লিখতে আর ব্যবহার করতে কারন আবার বলছি হাই লেভেল ল্যাঙ্গুয়েজ কেজ সেন্সিটিব।

ইনভাটেট কমার সঠিক ব্যবহারঃ

ইনভাটেট কমার(' ' বা " ") ব্যবহার সঠিক ভাবে করতে হবে। যেখানে সিঙ্গেল কমার দরকার সেখানে সিঙ্গেল ইনভাটেট কমা আর যেখানে ডাবল ইনভাটেট কমার দরকার সেখানে ডাবল ব্যবহার করতে হবে। সিঙ্গেল ও ডাবল ইনভাটেট কমা এক সাথে ব্যবহার করা যাবে না বা দুইটি সিঙ্গেল ইনভাটেট কমা দিয়ে ডাবল বানানো যাবে না তাহলে ত্রুটি তৈরি হবে । এটি খুব সর্তকতার সাথে ব্যবহার করতে হবে কারন আপনি বুঝতেই পারবেন না যে আপনি সেখানে দুইটি সিঙ্গেল ইনভাটেট কমা একত্রে দিয়েছেন না একটি ডাবল ইনভাটেট কমা ব্যবহার করেছেন।

  

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

প্রোগ্রামের সংরক্ষিত শব্দ ব্যবহারঃ

প্রোগ্রামে কিছু সংরক্ষিত শব্দ আছে যেগুলো আপনি প্রোগ্রামের ভেরিয়েবল বা ফাংশনের নাম লেখার ক্ষেত্রে ব্যবহার করতে পারবেন না । সেগুলো শুধু তাদের যেই কাজ সেই কাজের জন্যে'ই ব্যবহার করতে পারবেন। যেমন- int, float, if, else, switch, do, while এ রকম আরো অনেক রয়েছে। যেমন if ব্যবহার করা হয়  কন্ডিশন এ ব্যবহারের জন্যে, এটিকে আপনি ভেরিয়েবল হিসেবে লিখতে পারবেন না কারন এর নিজস্ব কিছু কাজ আছে। যখন আপনি এই গুলো কে ভেরিয়েবল বা কোন কিছুর নাম হিসেবে ব্যবহার করবেন তখন কম্পাইলার ত্রুটি ধরবে কারন এই গুলো প্রোগ্রামের সংরক্ষিত শব্দ বা keyword.

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

সঠিক ভাবে ভেরিয়েবল লিখাঃ

 

প্রোগ্রামের জন্য ভেরিয়েবল হল প্রানস্বরূপ কারন ডেটা কিভাবে মেমোরিতে থাকবে সেটা ভেরিয়েবলের উপর নির্ভর করে। তাই আপনাকে সঠিক ভাবে ভেরিয়েবল লিখতে হবে। ভেরিয়েবলে কি ধরনের ডাটা রাখবেন সেই দিকে খেয়াল রেখে সঠিক ডাটা টাইপ নির্বাচন করতে হবে। মনে করুন, আপনি ভেরিয়েবল লিখেছেন নম্বর রাখার জন্য কিন্তু আপনি সেই ভেরিয়েবল ব্যবহার করেছেন অক্ষর বা বাক্য রাখার জন্য। তাহলে কি সেটা সঠিক হল? আপনার ডাটা টাইপ ঠিক রাখতে হবে এবং তার পাশাপাশি দেখতে হবে আপনার ডাটা কত বড় বা কতটা মেমোরি তার জন্য বরাদ্দ করা হয়েছে। যদি বরাদ্দকৃত জায়গার চেয়ে ডাটা মেমোরি বেশি লাগে তাহলে প্রোগ্রাম রান হবে না। যেমন ভেরিয়েবল নির্ধারন করেছেন দুই বাইটের জন্য কিন্তু আপনি ইনপুট দিয়েছেন ১৬ বাইটের জন্য । তাহলে এর জন্য আপনার প্রোগ্রাম রান হবে না। আবার ভেরিয়েবলের নাম আপনি প্রোগ্রামের সংরক্ষিত keyword গুলো  ব্যবহার করতে পারবেন না যেটা আগেই আপনাদের বলেছি। সুতরাং ভেরিয়েবল লিখার আগে এর নিয়মকানুন সঠিক ভাবে জেনে নিন যেন কোন সমস্যায় পড়তে না হয়।  

 

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

অনুশীলন কখনও বন্ধ করবেন না, কারন অনুশীলন ছাড়া একজন ভালো মানের প্রোগ্রামার হয়ে ওঠা অনেকটাই কঠিন । তাই নিয়মিত চর্চা করুন। 

 

লেখার ভুল ক্ষমা দৃষ্টিতে দেখবেন  পরবর্তী টিউন গুলো পেতে সাথেই থাকুন.......................

Share this post
Repost0
To be informed of the latest articles, subscribe:
Comment on this post