Go में क्लीन कोड: Golang के लिए सिद्धांत और उदाहरण

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें
Here is the translated HTML content from Russian to Hindi, with all HTML tags preserved and only text content translated: ```html

Clean Code on Go: सिद्धांत और Golang के लिए उदाहरण

स्वच्छ कोड (Clean Code) केवल नियमों का एक सेट नहीं है, बल्कि एक विकास दर्शन है जो प्रोग्राम को समझने योग्य, रखरखाव और विस्तार के लिए सुविधाजनक बनाता है। Go भाषा में, जो सरलता और पठनीयता पर जोर देने के साथ बनाई गई है, स्वच्छ कोड के सिद्धांत विशेष रूप से महत्वपूर्ण हैं। इस लेख में हम Go (Golang) पर लागू Clean Code के प्रमुख सिद्धांतों का विश्लेषण करेंगे और व्यावहारिक उदाहरण देंगे जो आपको बेहतर कोड लिखने में मदद करेंगे।



1. वेरिएबल, फंक्शन और पैकेज का नामकरण

Go में, नामकरण पठनीयता का आधार है। अच्छे नाम छोटे लेकिन सूचनात्मक होने चाहिए। उन संक्षिप्ताक्षरों से बचें जो स्पष्ट नहीं हैं, और एक-अक्षर वाले वेरिएबल का उपयोग न करें (लूप इंडेक्स को छोड़कर)।

खराब कोड का उदाहरण:

package main

func f(x int) int { r := x * 2 return r}

स्वच्छ कोड का उदाहरण:

package main

// Double किसी संख्या का दोगुना मान लौटाता है।func Double(value int) int { result := value * 2 return result}

Go में नामकरण के नियम:

  • वेरिएबल: camelCase का उपयोग करें (जैसे, userName, itemCount)। ग्लोबल वेरिएबल के लिए, यदि वे एक्सपोर्ट किए जाते हैं तो PascalCase का उपयोग करें।
  • फंक्शन: एक्सपोर्ट किए गए फंक्शन बड़े अक्षर से शुरू होते हैं, गैर-एक्सपोर्टेड छोटे अक्षर से। नाम क्रिया को दर्शाना चाहिए (जैसे, CalculateSum, parseInput)।
  • पैकेज: पैकेज के नाम छोटे, छोटे अक्षरों में और एकवचन में होने चाहिए (जैसे, fmt, http, strings)। utils जैसे सामान्य नामों से बचें।


2. त्रुटि प्रबंधन और मान वापसी

Go अपवादों का उपयोग नहीं करता है, बल्कि त्रुटियों को मान के रूप में लौटाता है। स्वच्छ कोड के लिए त्रुटियों की स्पष्ट जांच और सामान्य निष्पादन प्रवाह में panic से बचना आवश्यक है।

खराब कोड का उदाहरण:

func readFile(path string) string {    data, _ := os.ReadFile(path) // त्रुटि को अनदेखा करना    return string(data)}

स्वच्छ कोड का उदाहरण:

func readFile(path string) (string, error) {    data, err := os.ReadFile(path)    if err != nil {        return "", fmt.Errorf("फ़ाइल %s पढ़ने में त्रुटि: %w", path, err)    }    return string(data), nil}

त्रुटि प्रबंधन के लिए सुझाव:

  • हमेशा लौटाई गई त्रुटियों की जांच करें। उन्हें अनदेखा करने के लिए _ का उपयोग न करें।
  • संदर्भ बनाए रखने के लिए fmt.Errorf और %w के साथ त्रुटियों को लपेटें।
  • सामान्य त्रुटियों के लिए panic का उपयोग न करें — ये असाधारण स्थितियाँ हैं (जैसे, आरंभीकरण त्रुटियाँ)।
  • यदि अतिरिक्त जानकारी देने की आवश्यकता हो तो कस्टम त्रुटि प्रकार बनाएं।


3. फंक्शन की संरचना और जटिलता को कम करना

Go में फंक्शन छोटे होने चाहिए और केवल एक कार्य करने चाहिए। एकल जिम्मेदारी सिद्धांत (Single Responsibility Principle) का पालन करें। यदि कोई फंक्शन बहुत लंबा हो जाता है, तो इसे कई सहायक फंक्शनों में विभाजित करें।

खराब कोड का उदाहरण:

func processOrder(order Order) error {    // 1. सत्यापन    if order.ID == 0 {        return errors.New("अमान्य ऑर्डर ID")    }    // 2. छूट की गणना    discount := 0.0    if order.Amount > 100 {        discount = 0.1    }    // 3. ईमेल भेजना    err := sendEmail(order.Email, "ऑर्डर संसाधित")    if err != nil {        return err    }    // 4. डेटाबेस में सहेजना    err = saveOrder(order)    if err != nil {        return err    }    return nil}

स्वच्छ कोड का उदाहरण:

func processOrder(order Order) error {    if err := validateO
```                

ब्लॉग

पुस्तक अनुशंसाएँ