स्विफ्ट में स्वच्छ कोड: iOS/macOS के लिए सिद्धांत और उदाहरण

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

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

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

स्विफ्ट में क्लीन कोड: व्यवहार में सिद्धांत और उदाहरण

स्वच्छ कोड (क्लीन कोड) केवल एक फैशनेबल शब्द नहीं है, बल्कि iOS और macOS के लिए स्विफ्ट में काम करने वाले प्रत्येक डेवलपर के लिए एक मौलिक कौशल है। Apple-पारिस्थितिकी तंत्र की दुनिया में, जहां प्रोजेक्ट अक्सर वर्षों तक चलते हैं और विभिन्न टीमों द्वारा बनाए रखे जाते हैं, समझने योग्य, पूर्वानुमानित और आसानी से बदलने योग्य कोड लिखने की क्षमता सीधे विकास की गति और बग की संख्या को प्रभावित करती है। इस लेख में, हम स्विफ्ट में क्लीन कोड के प्रमुख सिद्धांतों को विशिष्ट उदाहरणों के साथ समझेंगे जिन्हें आप आज ही अपने प्रोजेक्ट में लागू कर सकते हैं।



स्विफ्ट डेवलपर के लिए क्लीन कोड क्यों महत्वपूर्ण है?

स्विफ्ट एक शक्तिशाली और अभिव्यंजक भाषा है, लेकिन इसका लचीलापन अराजकता पैदा कर सकता है यदि अनुशासन का पालन न किया जाए। स्वच्छ कोड तीन मुख्य समस्याओं का समाधान करता है:

  • पठनीयता: किसी अन्य डेवलपर (या एक महीने बाद आप) को बिना प्रयास के कोड समझना चाहिए।
  • रखरखाव क्षमता: नई सुविधाओं को जोड़ने से पुरानी लॉजिक नहीं टूटनी चाहिए।
  • परीक्षण क्षमता: स्वच्छ कोड आसानी से यूनिट-टेस्ट से कवर किया जा सकता है।

आइए सिद्धांत से व्यवहार की ओर बढ़ें और मुख्य सिद्धांतों पर विचार करें।



सिद्धांत 1: नामकरण - स्वच्छता का आधार

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

खराब:

func calc(a: Int, b: Int) -> Int {    return a * b}

अच्छा:

func calculateArea(width: Int, height: Int) -> Int {    return width * height}

स्विफ्ट के लिए नियम: चर और फ़ंक्शन के लिए CamelCase का उपयोग करें। नामों को "यह क्या है?" या "यह क्या करता है?" प्रश्नों का उत्तर देना चाहिए।

  • चर: userName, maxRetryCount
  • फ़ंक्शन: fetchData(), validateEmail()
  • वर्ग/संरचना: UserProfile, NetworkService


सिद्धांत 2: छोटे फ़ंक्शन (एकल जिम्मेदारी)

प्रत्येक फ़ंक्शन को केवल एक काम करना चाहिए। यदि कोई फ़ंक्शन 10-15 पंक्तियों से अधिक लंबा है या उसमें कोड ब्लॉक समझाने वाली टिप्पणियाँ हैं - तो यह रिफैक्टरिंग का संकेत है। स्विफ्ट में, क्लोजर और कार्यात्मक दृष्टिकोण के उपयोग के कारण यह विशेष रूप से प्रासंगिक है।

उल्लंघन का उदाहरण (एक बड़ी विधि):

func processUserData(user: User) {    // सत्यापन    guard user.email.contains("@") else { return }    // डीबी में सहेजना    Database.shared.save(user)    // सूचना भेजना    NotificationCenter.default.post(name: .userSaved, object: nil)}

स्वच्छ कोड (जिम्मेदारी का विभाजन):

func processUserData(user: User) {    guard validateUser(user) else { return }    saveUser(user)    notifyUserSaved()}

private func validateUser(_ user: User) -> Bool { return user.email.contains("@")}

private func saveUser(_ user: User) { Database.shared.save(user)}

private func notifyUserSaved() { NotificationCenter.default.post(name: .userSaved, object: nil)}

अब प्रत्येक फ़ंक्शन का परीक्षण, संशोधन और पुन: उपयोग करना आसान है।



सिद्धांत 3: जादुई संख्याओं और स्ट्रिंग्स से बचें

हार्ड-कोडेड मान ("जादुई संख्याएं") पठनीयता के दुश्मन हैं। स्विफ्ट में, स्थिरांक और एनम (enum) का उपयोग करें।

खराब:

if user.age > 18 {    grantAccess()}

अच्छा:

private let minimumAgeForAccess = 18

if user.age > minimumAgeForAccess { grantAccess()}

अधिक जटिल मामलों के लिए enum का उपयोग करें:

enum HTTPStatusCode: Int {    case ok = 200    case notFound = 404    case internalError = 500}

func handleResponse(code: Int) { sw

ब्लॉग

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