01/10/2023
প্রোগ্রামিং, কোডিং বা ডেভেলপমেন্ট শেখার সময় মনে রাখবেন আপনি কখনই শুধু নিজের জন্য কোড লিখবেন না, প্রোগ্রামার হিসেবে আপনি কখনই একা কাজ করবেন না, আপনাকে কাজ করতে হবে একটা টিমে। আপনার কোড অনেক মানুষ পড়বে, বছরের পর বছর ধরে ওই একই কোডের ওপরে কাজ করা হবে৷ তাই এমন ভাবে কোডটা লিখতে হবে যেন অন্য আরেকজন ডেভেলপার আপনার কোডটা পড়ে বুঝতে পারে। কোড পড়ার সময় আপনাকে যেন গালি না দেয়।
এই প্র্যাক্টিসটা আমি মনে করি শেখার সময় থেকেই হওয়া উচিত। না না, আমি মোটেও বলছি না শেখার শুরুর দিন থেকে আপনি ক্লিন কোড লিখবেন, সলিড প্রিন্সিপ্যাল ফলো করবেন।
আমি বলতে চাচ্ছি কোডের প্রেসেন্টেশনটা সুন্দর করার জন্য। যখন একটা ভ্যারিয়েবল নিলেন তার একটা মিনিংফুল নাম করণ করলেন। একটা ফাংশন ১৫-২০ লাইনের হয়ে যাচ্ছে? দেখুন কিভাবে এই ফাংশনটা ভেংগে দুইটা বা অধিক ফাংশনে রুপান্তর করা যায়। প্রতিটা ফাংশন একটা নির্দিষ্ট কাজ করবে। ছোট ছোট রিইউজেবল ফাংশন বানানোর চেষ্টা করতে হবে। একটা ফাংশনের পূর্বে একটা ছোট কমেন্ট করে আসতে পারেন। কোন প্যারামিটারের কি কাজ, এই ফাংশন কি রিটার্ন করবে, এই ফাংশনের কাজটা কি?
অনেকেই বলেন ভালো প্রোগ্রামাররা কমেন্ট করেন না। আপনার এত ভালো প্রোগ্রামার হওয়ার দরকার নেই। আপনি কমেন্ট করবেন। কমেন্ট করবেন বলেছি বলে প্রতিটা লাইনেই কমেন্ট করবেন ব্যাপারটা এমন না, একটা ফাংশনের শুরুতে বলে দিন যে এই ফাংশনটা কি করবে, কি করবে জানলে কিভাবে করবে সেটা কোড দেখে বুঝে নেওয়া যাবে।
অনেকেই প্রোগ্রামিং ল্যাংগুয়েজের অনেক ট্রিকস জানেন, পাচ লাইনের কাজ এক লাইনে করে ফেলতে পারেন। আপনি অনেক স্মার্ট। কিন্তু যেই ব্যক্তি আপনার কোড পড়বে সেই ব্যক্তি আপনার মতো স্মার্ট নাও হতে পারে। তাই সব সময় সহজবোধ্য গ্রামার দিয়ে কোড লিখবেন। অনেক কোম্পানিতে টার্নারি অপারেটর নিষিদ্ধ, তারা ইফইলস দিয়ে কোড লিখতে বলে। কারণ এটা সহজে বোধগম্য।
ইফ ইলস যখন ব্যবহার করবেন তখন কন্ডিশনের মধ্যে নেগেশন ব্যবহার করবেন না, এতে কোডের রিডিবিলিটি নষ্ট হয়। চেষ্টা করবেন সব এজ কেস গুলো আর্লি রিটার্ন করতে। তাহলে ইলস কন্ডিশনের প্রয়োজনই হবে না। এবং কোডটা পড়তে অনেকটা ইংলিশের মতো লাগবে।
যেখানে লুপ ব্যবহার করা পসিবল সেখানে স্মার্টনেস দেখিয়ে রিকার্সিভ ফাংশন ব্যবহার করবেন না। আগেই বলেছি আপনি স্মার্ট, কিন্তু যে আপনার কোড পড়ছে সে স্মার্ট নাও হতে পারে। তাই আপনি এমন ভাবে কোড লিখবেন যেন এটা দেখে কোনো কোডই মনে না হয়, মনে হয় যেন ইংরেজিতে ইন্সট্রাকশন লিখে রেখেছেন।
বিশেষ দ্রষ্টব্য: আসল প্রব্লেম সলভ না করে কোডের সৌন্দর্যের দিকে তাকিয়ে লাভ নেই। আর আপনি এক দুই দিনে সুন্দর কোড লেখা শিখবেন না। এর জন্য আপনাকে হাজার হাজার ঘন্টা ব্যয় করে লাখ লাখ লাইনের বাজে কোড লিখতে হবে। নিজের বাজে কোড যখন ম্যানেজ করবেন তখন নিজেই এর গুরুত্ব বুঝতে পারবেন, সাথে এটাও বুঝতে পারবেন কিভাবে কোডটা আরও বেশি রিডেবল করা যায়। তবে রিডেবল কোড লিখতে না পারলে নতুন টিমে কাজ করতে আপনাকে স্ট্রাগল করতে হবে ফর শিউর। তাই নিজের কোডের দিকে তাকান আর নিজেকে প্রশ্ন করুন আমার কোড কি রিডেবল এনাফ?