--- sidebar_position: 5 --- # কোডিং স্ট্যান্ডার্ড ### ✨ **Snigdha OS ডেভেলপমেন্টের কোডিং স্ট্যান্ডার্ড** Snigdha OS-এর উচ্চমানের কোডবেস ধরে রাখার জন্য এই কোডিং স্ট্যান্ডার্ড মেনে চলা গুরুত্বপূর্ণ। এগুলো কোডের পাঠযোগ্যতা, রক্ষণাবেক্ষণযোগ্যতা এবং সহযোগিতা নিশ্চিত করার পাশাপাশি কোডকে কার্যকর ও নিরাপদ রাখে। 🚀 ### 1️⃣ **নামকরণের জন্য নিয়ম** ✅ ভেরিয়েবল, ফাংশন এবং ক্লাসের জন্য অর্থবহ এবং বর্ণনামূলক নাম ব্যবহার করুন। ✅ পুরো কোডবেসে একটি নিয়ম মেনে চলুন: - **camelCase** ভেরিয়েবল ও ফাংশনের জন্য। - **PascalCase** ক্লাস ও কনস্ট্রাক্টরের জন্য। - **snake_case** কনস্ট্যান্ট ও কনফিগারেশন কির জন্য। ### 2️⃣ **ইনডেন্টেশন ও ফরম্যাটিং** ✅ একরূপ ইনডেন্টেশন ব্যবহার করুন (২ বা ৪ স্পেস প্রাধান্য দিন)। ট্যাব ব্যবহার এড়িয়ে চলুন। ✅ ধারাবাহিক ফরম্যাটিং স্টাইল অনুসরণ করুন (যেমন, ব্রেসের অবস্থান, স্পেসিং)। ✅ লাইনের দৈর্ঘ্য ৮০-১০০ ক্যারেক্টারের মধ্যে সীমাবদ্ধ রাখুন। ✅ অপ্রয়োজনীয় স্পেস এবং টেইলিং স্পেস মুছে ফেলুন। ### 3️⃣ **কমেন্টিং** ✅ জটিল লজিক, অ্যালগরিদম বা অস্বাভাবিক সিদ্ধান্ত ব্যাখ্যা করতে কমেন্ট যোগ করুন। ✅ কমেন্টগুলো সংক্ষিপ্ত, প্রাসঙ্গিক এবং কোড পরিবর্তনের সাথে সামঞ্জস্যপূর্ণ রাখুন। ✅ পরিষ্কার বিষয়ের জন্য কমেন্ট এড়িয়ে চলুন, যেমন `// Incrementing i by 1`। ```javascript // ভালো উদাহরণ: function calculateTax(income) { // প্রগ্রেসিভ স্ল্যাবের উপর ভিত্তি করে ট্যাক্স গণনা করে। ... } ``` ### 4️⃣ **মডুলারিটি ও কোড পুনর্ব্যবহারযোগ্যতা** ✅ কোডকে ছোট, পুনর্ব্যবহারযোগ্য ফাংশন বা মডিউলে ভাগ করুন। ✅ সংশ্লিষ্ট কার্যকারিতা শ্রেণি বা নেমস্পেসে গ্রুপ করুন। ### 5️⃣ **ত্রুটি পরিচালনা** ✅ সঠিক ত্রুটি পরিচালনার ব্যবস্থা ব্যবহার করুন, যেমন `try-catch` ব্লক। ✅ ত্রুটি বার্তায় অভ্যন্তরীণ লজিক প্রকাশ করবেন না। ```python try: result = perform_operation() except ValueError as e: print("ভুল ইনপুট। অনুগ্রহ করে আবার চেষ্টা করুন।") # "ValueError: details" এড়িয়ে চলুন। ``` ### 6️⃣ **কোড পাঠযোগ্যতা** ✅ সহজ এবং পরিষ্কার কোড লিখুন। অপ্রয়োজনীয় জটিলতা এড়িয়ে চলুন। ✅ একক-অক্ষরের পরিবর্তে বর্ণনামূলক ভেরিয়েবল ও ফাংশনের নাম ব্যবহার করুন। ✅ বুদ্ধিমত্তার চেয়ে পরিষ্কারতা বেশি প্রাধান্য দিন। ### 7️⃣ **একরূপ কোড স্টাইল** ✅ ব্যবহৃত প্রোগ্রামিং ভাষার স্টাইল গাইড অনুসরণ করুন (যেমন, পাইটনের জন্য PEP 8, জাভাস্ক্রিপ্টের জন্য ESLint)। ✅ স্পেসিং, ইনডেন্টেশন এবং ব্রেসের অবস্থানের জন্য একরূপ অনুশীলন অনুসরণ করুন। ### 8️⃣ **ডকুমেন্টেশন** ✅ প্রতিটি ফাংশন, ক্লাস এবং মডিউলের জন্য পরিষ্কার বর্ণনা লিখুন। ✅ প্যারামিটার, রিটার্ন ভ্যালু এবং সম্ভাব্য ত্রুটি ডকুমেন্টেশনে অন্তর্ভুক্ত করুন। ```python def calculate_area(radius): """ একটি বৃত্তের ক্ষেত্রফল গণনা করে। Args: radius (float): বৃত্তের ব্যাসার্ধ। Returns: float: বৃত্তের ক্ষেত্রফল। """ return 3.14 * radius ** 2 ``` ### 9️⃣ **পরীক্ষা (Testing)** ✅ সকল গুরুত্বপূর্ণ কার্যকারিতার জন্য ইউনিট টেস্ট লিখুন। ✅ কমপক্ষে ৮০% কোড কাভারেজ নিশ্চিত করুন। ✅ `pytest`, `Jest`, বা `JUnit` এর মতো ফ্রেমওয়ার্ক ব্যবহার করে টেস্ট স্বয়ংক্রিয় করুন। ### 🔟 **ভার্সন কন্ট্রোল** ✅ ভার্সন কন্ট্রোলের জন্য Git ব্যবহার করুন। **Git Flow** এর মতো ব্রাঞ্চিং স্ট্র্যাটেজি অনুসরণ করুন। ✅ পরিষ্কার এবং বর্ণনামূলক কমিট বার্তা লিখুন, যেমন: ``` feat: ইউজার অথেন্টিকেশনের জন্য ফিচার যোগ করা হলো। fix: পেমেন্ট গেটওয়ে ইন্টিগ্রেশনে বাগ সমাধান। docs: ইনস্টলেশন স্টেপ দিয়ে README আপডেট করা হলো। ``` ### 🔑 **মূল নীতিমালা** 1️⃣ **পাঠযোগ্যতা**: এমন কোড লিখুন যা ছয় মাস পর আপনি নিজেই বুঝতে পারবেন। 2️⃣ **মডুলারিটি**: কোডকে মডুলার এবং বিচ্ছিন্ন রাখুন। 3️⃣ **একরূপতা**: একরূপ স্টাইল গ্রহণ করুন যাতে রক্ষণাবেক্ষণ সহজ হয়। এই স্ট্যান্ডার্ডগুলো মেনে চললে কোডের গুণমান উন্নত হবে এবং সহযোগিতার জন্য একটি পেশাদার পরিবেশ সৃষ্টি হবে। শুভ কোডিং! 🎉👩‍💻👨‍💻