Go में क्लीन कोड: शुरुआती लोगों के लिए सिद्धांत और उदाहरण — भाग 1

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

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

पाठ्यक्रम शुरू करें

Go में क्लीन कोड: शुरुआती लोगों के लिए सिद्धांत और उदाहरण — भाग 1

क्लीन कोड सिर्फ एक फैशनेबल शब्द नहीं है, बल्कि पेशेवर प्रोग्रामिंग की नींव है। यदि आप Go (Golang) सीख रहे हैं और ऐसे प्रोग्राम लिखना चाहते हैं जिन्हें पढ़ना, बनाए रखना और विस्तारित करना आसान हो, तो क्लीन कोड के सिद्धांत आपके सबसे अच्छे उपकरण होंगे। इस लेख में हम Go में क्लीन कोड की बुनियादी अवधारणाओं पर चर्चा करेंगे, जो शुरुआती लोगों के लिए भी उपयुक्त हैं।

Go में क्लीन कोड क्यों महत्वपूर्ण है?

Go मूल रूप से सरल और कुशल समाधान बनाने के लिए डिज़ाइन किया गया था। हालांकि, क्लीन कोड के नियमों का पालन किए बिना, एक साधारण प्रोजेक्ट भी 'स्पेगेटी' कोड में बदल सकता है। क्लीन कोड मदद करता है:

  • प्रोग्रामिंग में त्रुटियों की संख्या कम करने में;
  • टीम वर्क को सरल बनाने में;
  • नए डेवलपर्स के सीखने का समय कम करने में;
  • कोड की पठनीयता और रखरखाव क्षमता बढ़ाने में।

सिद्धांत 1: सही नामकरण

वेरिएबल, फंक्शन और पैकेज के नाम उनके उद्देश्य को दर्शाने चाहिए। Go में छोटे नामों का उपयोग करना आम है, लेकिन इसका मतलब यह नहीं कि वे अर्थहीन हों।

खराब उदाहरण:

func f(a int, b int) int {    r := a + b    return r}

अच्छा उदाहरण (क्लीन कोड):

func AddNumbers(first int, second int) int {    result := first + second    return result}

ध्यान दें: फंक्शन का नाम AddNumbers तुरंत बताता है कि यह क्या करता है। वेरिएबल first, second, result भी कोई प्रश्न नहीं छोड़ते। यह विशेष रूप से शुरुआती लोगों के लिए Go में महत्वपूर्ण है, क्योंकि स्पष्ट नाम कोड की समझ को तेज करते हैं।

सिद्धांत 2: दृश्यता क्षेत्र को न्यूनतम करना

Golang में एक्सपोर्टेड (बड़े अक्षर से) और नॉन-एक्सपोर्टेड (छोटे अक्षर से) पहचानकर्ताओं की अवधारणा है। इसका उपयोग करके कार्यान्वयन के आंतरिक विवरण छुपाएं।

उदाहरण:

package calculator

// एक्सपोर्टेड फंक्शनtype Calculator struct { result int}

func (c *Calculator) Add(value int) { c.result += value}

func (c *Calculator) GetResult() int { return c.result}

// नॉन-एक्सपोर्टेड फंक्शन — बाहरी दुनिया से छिपा हुआfunc (c *Calculator) reset() { c.result = 0}

यहाँ reset अन्य पैकेजों से सुलभ नहीं है, जो ऑब्जेक्ट की आंतरिक स्थिति की रक्षा करता है। यह क्लीन कोड के प्रमुख सिद्धांतों में से एक है — एनकैप्सुलेशन।

सिद्धांत 3: फंक्शन छोटे होने चाहिए

एक फंक्शन — एक कार्य। यदि कोई फंक्शन एक से अधिक कार्य करता है, तो उसे कई भागों में विभाजित करना चाहिए। इससे पठनीयता में सुधार होता है और परीक्षण सरल होता है।

खराब उदाहरण:

func ProcessUser(name string, age int) string {    if age < 18 {        return "पहुंच निषिद्ध"    }    result := "नमस्ते, " + name    return result}

अच्छा उदाहरण (क्लीन कोड):

func IsAdult(age int) bool {    return age >= 18}

func GreetUser(name string) string { return "नमस्ते, " + name}

func ProcessUser(name string, age int) string { if !IsAdult(age) { return "पहुंच निषिद्ध" } return GreetUser(name)}

अब प्रत्येक फंक्शन अपने भाग के लिए जिम्मेदार है। इससे कोड का सीखना और रखरखाव आसान हो जाता है।

सिद्धांत 4: त्रुटियों का प्रबंधन

Go में अपवाद नहीं हैं — त्रुटियाँ मान के रूप में लौटाई जाती हैं। क्लीन कोड में त्रुटियों को स्पष्ट रूप से संभालना आवश्यक है, न कि उन्हें अनदेखा करना।

खराब उदाहरण:

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 "", err    }    return string(data), nil}

ब्लॉग

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