স্কিপ করে মূল কন্টেন্ট এ যান

কোডিং স্ট্যান্ডার্ড

Snigdha OS ডেভেলপমেন্টের কোডিং স্ট্যান্ডার্ড

Snigdha OS-এর উচ্চমানের কোডবেস ধরে রাখার জন্য এই কোডিং স্ট্যান্ডার্ড মেনে চলা গুরুত্বপূর্ণ। এগুলো কোডের পাঠযোগ্যতা, রক্ষণাবেক্ষণযোগ্যতা এবং সহযোগিতা নিশ্চিত করার পাশাপাশি কোডকে কার্যকর ও নিরাপদ রাখে। 🚀

1️⃣ নামকরণের জন্য নিয়ম

✅ ভেরিয়েবল, ফাংশন এবং ক্লাসের জন্য অর্থবহ এবং বর্ণনামূলক নাম ব্যবহার করুন।
✅ পুরো কোডবেসে একটি নিয়ম মেনে চলুন:

  • camelCase ভেরিয়েবল ও ফাংশনের জন্য।
  • PascalCase ক্লাস ও কনস্ট্রাক্টরের জন্য।
  • snake_case কনস্ট্যান্ট ও কনফিগারেশন কির জন্য।

2️⃣ ইনডেন্টেশন ও ফরম্যাটিং

✅ একরূপ ইনডেন্টেশন ব্যবহার করুন (২ বা ৪ স্পেস প্রাধান্য দিন)। ট্যাব ব্যবহার এড়িয়ে চলুন।
✅ ধারাবাহিক ফরম্যাটিং স্টাইল অনুসরণ করুন (যেমন, ব্রেসের অবস্থান, স্পেসিং)।
✅ লাইনের দৈর্ঘ্য ৮০-১০০ ক্যারেক্টারের মধ্যে সীমাবদ্ধ রাখুন।
✅ অপ্রয়োজনীয় স্পেস এবং টেইলিং স্পেস মুছে ফেলুন।

3️⃣ কমেন্টিং

✅ জটিল লজিক, অ্যালগরিদম বা অস্বাভাবিক সিদ্ধান্ত ব্যাখ্যা করতে কমেন্ট যোগ করুন।
✅ কমেন্টগুলো সংক্ষিপ্ত, প্রাসঙ্গিক এবং কোড পরিবর্তনের সাথে সামঞ্জস্যপূর্ণ রাখুন।
✅ পরিষ্কার বিষয়ের জন্য কমেন্ট এড়িয়ে চলুন, যেমন // Incrementing i by 1

// ভালো উদাহরণ:
function calculateTax(income) {
// প্রগ্রেসিভ স্ল্যাবের উপর ভিত্তি করে ট্যাক্স গণনা করে।
...
}

4️⃣ মডুলারিটি ও কোড পুনর্ব্যবহারযোগ্যতা

✅ কোডকে ছোট, পুনর্ব্যবহারযোগ্য ফাংশন বা মডিউলে ভাগ করুন।
✅ সংশ্লিষ্ট কার্যকারিতা শ্রেণি বা নেমস্পেসে গ্রুপ করুন।

5️⃣ ত্রুটি পরিচালনা

✅ সঠিক ত্রুটি পরিচালনার ব্যবস্থা ব্যবহার করুন, যেমন try-catch ব্লক।
✅ ত্রুটি বার্তায় অভ্যন্তরীণ লজিক প্রকাশ করবেন না।

try:
result = perform_operation()
except ValueError as e:
print("ভুল ইনপুট। অনুগ্রহ করে আবার চেষ্টা করুন।") # "ValueError: details" এড়িয়ে চলুন।

6️⃣ কোড পাঠযোগ্যতা

✅ সহজ এবং পরিষ্কার কোড লিখুন। অপ্রয়োজনীয় জটিলতা এড়িয়ে চলুন।
✅ একক-অক্ষরের পরিবর্তে বর্ণনামূলক ভেরিয়েবল ও ফাংশনের নাম ব্যবহার করুন।
✅ বুদ্ধিমত্তার চেয়ে পরিষ্কারতা বেশি প্রাধান্য দিন।

7️⃣ একরূপ কোড স্টাইল

✅ ব্যবহৃত প্রোগ্রামিং ভাষার স্টাইল গাইড অনুসরণ করুন (যেমন, পাইটনের জন্য PEP 8, জাভাস্ক্রিপ্টের জন্য ESLint)।
✅ স্পেসিং, ইনডেন্টেশন এবং ব্রেসের অবস্থানের জন্য একরূপ অনুশীলন অনুসরণ করুন।

8️⃣ ডকুমেন্টেশন

✅ প্রতিটি ফাংশন, ক্লাস এবং মডিউলের জন্য পরিষ্কার বর্ণনা লিখুন।
✅ প্যারামিটার, রিটার্ন ভ্যালু এবং সম্ভাব্য ত্রুটি ডকুমেন্টেশনে অন্তর্ভুক্ত করুন।

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️⃣ একরূপতা: একরূপ স্টাইল গ্রহণ করুন যাতে রক্ষণাবেক্ষণ সহজ হয়।

এই স্ট্যান্ডার্ডগুলো মেনে চললে কোডের গুণমান উন্নত হবে এবং সহযোগিতার জন্য একটি পেশাদার পরিবেশ সৃষ্টি হবে। শুভ কোডিং! 🎉👩‍💻👨‍💻