कोड की समीक्षा और रिफैक्टरिंग

केस स्टडी: Python में सॉफ्टवेयर बनाना

Mark Pedigo

Principal Data Scientist

नियमित कोड रिव्यू के फायदे

  • बेहतर कोड क्वालिटी
    • असंगतियाँ जल्दी पकड़ें
  • नॉलेज शेयरिंग
    • सहयोग
    • एकरूपता बनाए रखें
  • स्थिरता और बेस्ट प्रैक्टिसेज
    • उच्च मानक

कंप्यूटर पर दो लोग कोड की समीक्षा कर रहे हैं

केस स्टडी: Python में सॉफ्टवेयर बनाना

कोड रिव्यू उदाहरण

def factorial(n):
    if n == 0:
        return 1
    else:
        result = 1
        for i in range(1, n + 1):
            result *= i
        return result

इन बिंदुओं पर फीडबैक दीजिए:

  • फंक्शनैलिटी
  • रीडेबिलिटी
    • उदाहरण - अनावश्यक else
  • एज केस
    • उदाहरण - फैक्टोरियल के लिए निगेटिव नंबर
केस स्टडी: Python में सॉफ्टवेयर बनाना

कोड रिफैक्टरिंग के फायदे

  • बेहतर कोड क्वालिटी
  • मेंटेनेंस आसान
  • टेक्निकल डेट कम

स्पेगेटी को फ्लो चार्ट में बदला जा रहा है

केस स्टडी: Python में सॉफ्टवेयर बनाना

रिफैक्टरिंग उदाहरण

# Original code
def factorial(n):
    if n == 0:
        return 1
    else:
        result = 1
        for i in range(1, n + 1):
            result *= i
        return result
# Refactored code
def factorial(n):
    if n < 0:
        raise ValueError("Not defined")

if n == 0: return 1
result = 1 for i in range(1, n + 1): result *= i return result
केस स्टडी: Python में सॉफ्टवेयर बनाना

नए फ़ॉर्मूले के लिए नई फ़ंक्शन

पिछला फ़ॉर्मूला $$m = P \cdot \frac{r (1 + r)^N}{(1+r)^N - 1}$$ जहाँ $m$ मासिक भुगतान है, $P$ लोन अमाउंट, $r$ मासिक ब्याज दर, और $N$ मासिक किस्तों की संख्या है

नया फ़ॉर्मूला $$P = m \cdot \frac{(1+r)^N - 1}{r (1 + r)^N}$$

केस स्टडी: Python में सॉफ्टवेयर बनाना

रोडमैप

रोडमैप जिसमें प्रोजेक्ट के पूरे हुए हिस्से और अगला चरण दिखता है

केस स्टडी: Python में सॉफ्टवेयर बनाना

अभ्यास करते हैं!

केस स्टडी: Python में सॉफ्टवेयर बनाना

Preparing Video For Download...