programming,

Quản lý phiên bản mã nguồn (Code Versioning)

Duc-Tri Duc-Tri Follow Jan 01, 2025 · 1 min read

Định danh phiên bản ngữ nghĩa (Semantic Versioning)

Tóm tắt: Với số phiên bản theo định dạng Major.Minor.Patch, hãy tăng số:

  • Major (Phiên bản chính) khi bạn có những thay đổi API không tương thích với phiên bản cũ.
  • Minor (Phiên bản phụ) khi bạn thêm chức năng mới nhưng vẫn tương thích ngược.
  • Patch (Phiên bản sửa lỗi) khi bạn thực hiện các bản vá lỗi tương thích ngược. Các nhãn bổ sung cho bản phát hành trước (pre-release) và siêu dữ liệu bản dựng (build metadata) có sẵn dưới dạng phần mở rộng của định dạng Major.Minor.Patch.

Ví dụ:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 1.0.0
def add_numbers(a, b, c):
    return a + b + c
    
# 1.0.1
def add_number(a, b, c):
    # Nhanh hơn và an toàn hơn :)
    ...
    
# 2.0.0
def add_numbers(a, b, c, d):
    return a + b + c + d
    
# Nhưng phiên bản có thể là 1.1.0 nếu các thay đổi không gây lỗi tương thích
def add_numbers(a, b, c, d = 0):
		return a + b + c + d

# pip install cool_library
add_numbers(1, 2, 3, 0)