การรีวิวและปรับปรุงโค้ด

กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย 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 ที่ไม่จำเป็น
  • กรณีขอบเขต
    • ตัวอย่าง — จำนวนลบสำหรับ factorial
กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

ประโยชน์ของการ refactor โค้ด

  • คุณภาพโค้ดที่ดีขึ้น
  • ดูแลรักษาได้ง่ายขึ้น
  • ลด technical debt

สปาเก็ตตี้ถูกแปลงเป็นผังงาน

กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

ตัวอย่างการ refactor

# 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

Roadmap

Roadmap แสดงส่วนที่ทำเสร็จแล้วและส่วนที่จะเริ่มต่อไปในโปรเจกต์

กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

มาฝึกกันเถอะ!

กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

Preparing Video For Download...