mirror of
https://github.com/Snigdha-OS/documentation.git
synced 2025-09-06 19:15:12 +02:00
📝 docs: hi translation
This commit is contained in:
@@ -2,109 +2,98 @@
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
# কোডিং স্ট্যান্ডার্ড
|
||||
# कोडिंग स्टैंडर्ड
|
||||
|
||||
### ✨ **Snigdha OS ডেভেলপমেন্টের কোডিং স্ট্যান্ডার্ড**
|
||||
### ✨ **Snigdha OS विकास के कोडिंग स्टैंडर्ड**
|
||||
|
||||
Snigdha OS-এর উচ্চমানের কোডবেস ধরে রাখার জন্য এই কোডিং স্ট্যান্ডার্ড মেনে চলা গুরুত্বপূর্ণ। এগুলো কোডের পাঠযোগ্যতা, রক্ষণাবেক্ষণযোগ্যতা এবং সহযোগিতা নিশ্চিত করার পাশাপাশি কোডকে কার্যকর ও নিরাপদ রাখে। 🚀
|
||||
Snigdha OS की उच्च गुणवत्ता वाले कोडबेस को बनाए रखने के लिए इन कोडिंग स्टैंडर्ड्स का पालन करना महत्वपूर्ण है। ये कोड की पठनीयता, रखरखाव क्षमता और सहयोग को सुनिश्चित करते हुए कोड को प्रभावी और सुरक्षित बनाते हैं। 🚀
|
||||
|
||||
### 1️⃣ **नामकरण के नियम**
|
||||
✅ वेरिएबल्स, फ़ंक्शंस और क्लासेज के लिए अर्थपूर्ण और वर्णनात्मक नामों का उपयोग करें।
|
||||
✅ पूरे कोडबेस में एक समान नियम का पालन करें:
|
||||
- **camelCase** वेरिएबल्स और फ़ंक्शंस के लिए।
|
||||
- **PascalCase** क्लासेज और कन्स्ट्रक्टर्स के लिए।
|
||||
- **snake_case** कन्स्टेंट्स और कॉन्फ़िगरेशन कीज़ के लिए।
|
||||
|
||||
### 1️⃣ **নামকরণের জন্য নিয়ম**
|
||||
✅ ভেরিয়েবল, ফাংশন এবং ক্লাসের জন্য অর্থবহ এবং বর্ণনামূলক নাম ব্যবহার করুন।
|
||||
✅ পুরো কোডবেসে একটি নিয়ম মেনে চলুন:
|
||||
- **camelCase** ভেরিয়েবল ও ফাংশনের জন্য।
|
||||
- **PascalCase** ক্লাস ও কনস্ট্রাক্টরের জন্য।
|
||||
- **snake_case** কনস্ট্যান্ট ও কনফিগারেশন কির জন্য।
|
||||
### 2️⃣ **इंडेंटेशन और फॉर्मेटिंग**
|
||||
✅ एक समान इंडेंटेशन का उपयोग करें (2 या 4 स्पेस को प्राथमिकता दें)। टैब्स का उपयोग न करें।
|
||||
✅ लगातार फॉर्मेटिंग शैली का पालन करें (जैसे, ब्रेसेस की स्थिति, स्पेसिंग)।
|
||||
✅ पंक्ति की लंबाई को 80-100 अक्षरों तक सीमित रखें।
|
||||
✅ अनावश्यक स्पेस और टेलिंग स्पेस को हटा दें।
|
||||
|
||||
|
||||
### 2️⃣ **ইনডেন্টেশন ও ফরম্যাটিং**
|
||||
✅ একরূপ ইনডেন্টেশন ব্যবহার করুন (২ বা ৪ স্পেস প্রাধান্য দিন)। ট্যাব ব্যবহার এড়িয়ে চলুন।
|
||||
✅ ধারাবাহিক ফরম্যাটিং স্টাইল অনুসরণ করুন (যেমন, ব্রেসের অবস্থান, স্পেসিং)।
|
||||
✅ লাইনের দৈর্ঘ্য ৮০-১০০ ক্যারেক্টারের মধ্যে সীমাবদ্ধ রাখুন।
|
||||
✅ অপ্রয়োজনীয় স্পেস এবং টেইলিং স্পেস মুছে ফেলুন।
|
||||
|
||||
|
||||
### 3️⃣ **কমেন্টিং**
|
||||
✅ জটিল লজিক, অ্যালগরিদম বা অস্বাভাবিক সিদ্ধান্ত ব্যাখ্যা করতে কমেন্ট যোগ করুন।
|
||||
✅ কমেন্টগুলো সংক্ষিপ্ত, প্রাসঙ্গিক এবং কোড পরিবর্তনের সাথে সামঞ্জস্যপূর্ণ রাখুন।
|
||||
✅ পরিষ্কার বিষয়ের জন্য কমেন্ট এড়িয়ে চলুন, যেমন `// Incrementing i by 1`।
|
||||
### 3️⃣ **कॉमेंटिंग**
|
||||
✅ जटिल लॉजिक, एल्गोरिदम या असामान्य निर्णयों को स्पष्ट करने के लिए टिप्पणी जोड़ें।
|
||||
✅ टिप्पणियां संक्षिप्त, प्रासंगिक और कोड परिवर्तन के साथ मेल खाती होनी चाहिए।
|
||||
✅ स्पष्ट बिंदुओं के लिए टिप्पणियाँ से बचें, जैसे कि `// Incrementing i by 1`।
|
||||
|
||||
```javascript
|
||||
// ভালো উদাহরণ:
|
||||
// अच्छा उदाहरण:
|
||||
function calculateTax(income) {
|
||||
// প্রগ্রেসিভ স্ল্যাবের উপর ভিত্তি করে ট্যাক্স গণনা করে।
|
||||
// प्रगतिशील स्लैब के आधार पर टैक्स की गणना करता है।
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
### 4️⃣ **मॉड्यूलैरिटी और कोड पुनः उपयोगिता**
|
||||
✅ कोड को छोटे, पुनः उपयोग योग्य फ़ंक्शंस या मॉड्यूल में विभाजित करें।
|
||||
✅ संबंधित कार्यक्षमता को वर्गों या नेमस्पेस में समूहित करें।
|
||||
|
||||
### 4️⃣ **মডুলারিটি ও কোড পুনর্ব্যবহারযোগ্যতা**
|
||||
✅ কোডকে ছোট, পুনর্ব্যবহারযোগ্য ফাংশন বা মডিউলে ভাগ করুন।
|
||||
✅ সংশ্লিষ্ট কার্যকারিতা শ্রেণি বা নেমস্পেসে গ্রুপ করুন।
|
||||
|
||||
|
||||
### 5️⃣ **ত্রুটি পরিচালনা**
|
||||
✅ সঠিক ত্রুটি পরিচালনার ব্যবস্থা ব্যবহার করুন, যেমন `try-catch` ব্লক।
|
||||
✅ ত্রুটি বার্তায় অভ্যন্তরীণ লজিক প্রকাশ করবেন না।
|
||||
### 5️⃣ **त्रुटि प्रबंधन**
|
||||
✅ उचित त्रुटि प्रबंधन उपायों का उपयोग करें, जैसे `try-catch` ब्लॉक।
|
||||
✅ त्रुटि संदेशों में आंतरिक लॉजिक को उजागर न करें।
|
||||
|
||||
```python
|
||||
try:
|
||||
result = perform_operation()
|
||||
except ValueError as e:
|
||||
print("ভুল ইনপুট। অনুগ্রহ করে আবার চেষ্টা করুন।") # "ValueError: details" এড়িয়ে চলুন।
|
||||
print("गलत इनपुट। कृपया फिर से प्रयास करें।") # "ValueError: details" से बचें।
|
||||
```
|
||||
|
||||
### 6️⃣ **कोड पठनीयता**
|
||||
✅ सरल और स्पष्ट कोड लिखें। अनावश्यक जटिलताओं से बचें।
|
||||
✅ एकल-अक्षरों के बजाय वर्णनात्मक वेरिएबल्स और फ़ंक्शन नामों का उपयोग करें।
|
||||
✅ बुद्धिमत्ता से अधिक स्पष्टता को प्राथमिकता दें।
|
||||
|
||||
### 6️⃣ **কোড পাঠযোগ্যতা**
|
||||
✅ সহজ এবং পরিষ্কার কোড লিখুন। অপ্রয়োজনীয় জটিলতা এড়িয়ে চলুন।
|
||||
✅ একক-অক্ষরের পরিবর্তে বর্ণনামূলক ভেরিয়েবল ও ফাংশনের নাম ব্যবহার করুন।
|
||||
✅ বুদ্ধিমত্তার চেয়ে পরিষ্কারতা বেশি প্রাধান্য দিন।
|
||||
### 7️⃣ **एकरूप कोड शैली**
|
||||
✅ उपयोग की जाने वाली प्रोग्रामिंग भाषा के स्टाइल गाइड का पालन करें (जैसे, Python के लिए PEP 8, JavaScript के लिए ESLint)।
|
||||
✅ स्पेसिंग, इंडेंटेशन और ब्रेसेस की स्थिति के लिए एकरूप अभ्यास का पालन करें।
|
||||
|
||||
|
||||
### 7️⃣ **একরূপ কোড স্টাইল**
|
||||
✅ ব্যবহৃত প্রোগ্রামিং ভাষার স্টাইল গাইড অনুসরণ করুন (যেমন, পাইটনের জন্য PEP 8, জাভাস্ক্রিপ্টের জন্য ESLint)।
|
||||
✅ স্পেসিং, ইনডেন্টেশন এবং ব্রেসের অবস্থানের জন্য একরূপ অনুশীলন অনুসরণ করুন।
|
||||
|
||||
|
||||
### 8️⃣ **ডকুমেন্টেশন**
|
||||
✅ প্রতিটি ফাংশন, ক্লাস এবং মডিউলের জন্য পরিষ্কার বর্ণনা লিখুন।
|
||||
✅ প্যারামিটার, রিটার্ন ভ্যালু এবং সম্ভাব্য ত্রুটি ডকুমেন্টেশনে অন্তর্ভুক্ত করুন।
|
||||
### 8️⃣ **डॉक्युमेंटेशन**
|
||||
✅ प्रत्येक फ़ंक्शन, क्लास और मॉड्यूल के लिए स्पष्ट विवरण लिखें।
|
||||
✅ पैरामीटर, रिटर्न वैल्यू और संभावित त्रुटियों को डॉक्युमेंटेशन में शामिल करें।
|
||||
|
||||
```python
|
||||
def calculate_area(radius):
|
||||
"""
|
||||
একটি বৃত্তের ক্ষেত্রফল গণনা করে।
|
||||
एक वृत्त का क्षेत्रफल गणना करता है।
|
||||
|
||||
Args:
|
||||
radius (float): বৃত্তের ব্যাসার্ধ।
|
||||
radius (float): वृत्त का व्यासार्ध।
|
||||
|
||||
Returns:
|
||||
float: বৃত্তের ক্ষেত্রফল।
|
||||
float: वृत्त का क्षेत्रफल।
|
||||
"""
|
||||
return 3.14 * radius ** 2
|
||||
```
|
||||
|
||||
### 9️⃣ **टेस्टिंग**
|
||||
✅ सभी महत्वपूर्ण कार्यक्षमताओं के लिए यूनिट टेस्ट लिखें।
|
||||
✅ कम से कम 80% कोड कवरेज सुनिश्चित करें।
|
||||
✅ `pytest`, `Jest`, या `JUnit` जैसे फ्रेमवर्क का उपयोग करके टेस्ट को स्वचालित करें।
|
||||
|
||||
### 9️⃣ **পরীক্ষা (Testing)**
|
||||
✅ সকল গুরুত্বপূর্ণ কার্যকারিতার জন্য ইউনিট টেস্ট লিখুন।
|
||||
✅ কমপক্ষে ৮০% কোড কাভারেজ নিশ্চিত করুন।
|
||||
✅ `pytest`, `Jest`, বা `JUnit` এর মতো ফ্রেমওয়ার্ক ব্যবহার করে টেস্ট স্বয়ংক্রিয় করুন।
|
||||
|
||||
|
||||
### 🔟 **ভার্সন কন্ট্রোল**
|
||||
✅ ভার্সন কন্ট্রোলের জন্য Git ব্যবহার করুন। **Git Flow** এর মতো ব্রাঞ্চিং স্ট্র্যাটেজি অনুসরণ করুন।
|
||||
✅ পরিষ্কার এবং বর্ণনামূলক কমিট বার্তা লিখুন, যেমন:
|
||||
### 🔟 **वर्शन कंट्रोल**
|
||||
✅ वर्शन कंट्रोल के लिए Git का उपयोग करें। **Git Flow** जैसी ब्रांचिंग रणनीति का पालन करें।
|
||||
✅ स्पष्ट और वर्णनात्मक कमिट संदेश लिखें, जैसे:
|
||||
|
||||
```
|
||||
feat: ইউজার অথেন্টিকেশনের জন্য ফিচার যোগ করা হলো।
|
||||
fix: পেমেন্ট গেটওয়ে ইন্টিগ্রেশনে বাগ সমাধান।
|
||||
docs: ইনস্টলেশন স্টেপ দিয়ে README আপডেট করা হলো।
|
||||
feat: उपयोगकर्ता प्रमाणीकरण के लिए फ़ीचर जोड़ा गया।
|
||||
fix: भुगतान गेटवे एकीकरण में बग हल किया।
|
||||
docs: README में इंस्टॉलेशन स्टेप्स अपडेट किए गए।
|
||||
```
|
||||
|
||||
### 🔑 **मुख्य सिद्धांत**
|
||||
1️⃣ **पठनीयता**: ऐसा कोड लिखें जिसे छह महीने बाद आप स्वयं समझ सकें।
|
||||
2️⃣ **मॉड्यूलैरिटी**: कोड को मॉड्यूलर और अलग रखें।
|
||||
3️⃣ **एकरूपता**: एकरूप स्टाइल अपनाएं ताकि रखरखाव आसान हो।
|
||||
|
||||
### 🔑 **মূল নীতিমালা**
|
||||
1️⃣ **পাঠযোগ্যতা**: এমন কোড লিখুন যা ছয় মাস পর আপনি নিজেই বুঝতে পারবেন।
|
||||
2️⃣ **মডুলারিটি**: কোডকে মডুলার এবং বিচ্ছিন্ন রাখুন।
|
||||
3️⃣ **একরূপতা**: একরূপ স্টাইল গ্রহণ করুন যাতে রক্ষণাবেক্ষণ সহজ হয়।
|
||||
|
||||
এই স্ট্যান্ডার্ডগুলো মেনে চললে কোডের গুণমান উন্নত হবে এবং সহযোগিতার জন্য একটি পেশাদার পরিবেশ সৃষ্টি হবে। শুভ কোডিং! 🎉👩💻👨💻
|
||||
इन स्टैंडर्ड्स का पालन करने से कोड की गुणवत्ता में सुधार होगा और सहयोग के लिए एक पेशेवर वातावरण बनेगा। शुभ कोडिंग! 🎉👩💻👨💻
|
Reference in New Issue
Block a user