বর্তমানে কম্পিউটারে কোড লেখার সময় Indentation খুবই গুরুত্বপূর্ণ। বিশেষ করে, যদি কোন বড় আকারের কোড লেখা হয়, তবে Indentation ছাড়া তা অসম্ভব।
ইন্ডেন্টেশন হল, কোড লেখার সময় এক লাইন থেকে অন্য লাইনে যাবার সময় যে অতিরিক্ত হোয়াইট স্পেস যুক্ত হয় তাই ইন্ডেন্টেশন। ধরুন, আপনি HTML লিখছেন, এখন <html> লিখে যদি পরের লাইনে গিয়ে একটি অতিরিক্ত স্পেস বা ট্যাব যুক্ত করা হয় তবে সেটাই হবে ইন্ডেন্টেশন। বুঝলেন না তো? তাহলে নিচের ছবি দুইটি দেখলেই বুঝতে পারবেন।
একটি ইন্ডেন্টেশন ছাড়া কোড
ঐ একই কোড ইন্ডেন্টেশন সহ
আপনাকে যদি জিজ্ঞেস করা হয়, কোনটা পড়তে বা বুঝতে সোজা, আপনি নিশ্চয় বলবেন ২য় টি। যদি বড় কোডে ইন্ডেন্টেশন না থাকে, আপনি কোড পড়তে পারবেন না।
অনেকের ইন্ডেন্টেশন সম্পর্কে ভুল ধারনা আছে। অনেকে মনে করেন, এটা হয়ত এমনি। কিন্তু এটি ছাড়া কোড পড়া সম্ভব না, যদিও আমি প্রফেশনাল প্রোগ্রামার না, তবুও আমি জানি ও বুঝি। সবচেয়ে বেশি ভুল হয় Smart ও Auto Indentation এর মধ্যে। Text Editor এর ওপর ভিত্তি করে ইন্ডেন্টেশন ২ প্রকার। যথাঃ Smart ও Auto
Auto: অনেকে এডিটরে Auto-Indentation এনাবল করে দিয়ে হতাশ হন। ভাবেন, এনাবল করে দিলাম তবুও ইন্ডেন্ট হচ্ছে না কেন? কিন্তু এই অটো সেই অটো নয়। এ পদ্ধতিতে আপনাকে প্রথম লাইন ম্যানুয়ালি ইন্ডেন্ট করতে হবে। পরবর্তী লাইনে গেলে সেই লাইন লাইনের শুরু থেকে শুরু না হয়ে ইন্ডেন্ট হয়ে শুরু হবে। এটাই হল অটো ইন্ডেন্টেশন। অটো ইন্ডেন্টেশন সব এডিটরে নেই, তবে স্মার্ট ইন্ডেন্টেশন আছে, এমন এডিটর খুবই বিরল।
Smart: এটি হল সবচেয়ে স্মার্ট পদ্ধতি। এ পদ্ধতিতে ম্যানুয়ালি কিছু করার দরকার নেই, আপনার কাজ শুধু লেখা। আপনি লিখে যেতে থাকবেন, সব অটোমেটিক ইন্ডেন্ট হতে থাকবে। যেখানে ইন্ডেন্ট ক্লোজ হওয়া প্রয়োজন, সেখানে ক্লোজ হবে, যেখানে শুরু হওয়া প্রয়োজন, সেখানে শুরু হবে। তাহলে আপনি নিশ্চয়ই Smart Indent পছন্দ করবেন।
তাহলে এখন আর ভুল কইরেন না। Smart Indent সাপোর্ট করে এমন দুইটি এডিটর হলঃ IDM Ultra Edit এবং Notepad++
এখানে Notepad++ এ স্মার্ট ইন্ডেন্টেশন এনাবল করতে হলে প্লাগ-ইনস লাগবে। সে সম্পর্কে না হয় আরেকদিন আলোচনা করব।
আমি আহমেদ সাদমান। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 13 বছর যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 26 টি টিউন ও 231 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।