- vừa được xem lúc

Semantic Versioning - Quy ước đặt tên Version trong phần mềm

0 0 28

Người đăng: Nguyên Bảo Hứa

Theo Viblo Asia

Semantic Versioning (SemVer) là một quy ước quốc tế cho việc đặt tên và quản lý phiên bản phần mềm. SemVer giúp các nhà phát triển và người dùng dễ dàng hiểu và kiểm soát thay đổi trong phiên bản phần mềm một cách cụ thể. Nó được đặt ra bởi Tom Preston-Werner (co-founder github) và có nguồn gốc từ việc quản lý phiên bản trong mã nguồn mở. (nguồn ảnh invisionapp.com)

Cấu Trúc Phiên Bản SemVer

Một phiên bản SemVer được biểu thị bằng ba số nguyên tăng dần, theo thứ tự sau:

Major (Số đầu tiên): Đây là số đầu tiên trong phiên bản và tăng lên mỗi khi có thay đổi không tương thích ngược với phiên bản trước đó. Khi số này tăng, có thể xuất hiện sự thay đổi lớn trong tính năng hoặc cấu trúc của phần mềm.

Minor (Số giữa): Số thứ hai thể hiện phiên bản có thay đổi tính năng hoặc bổ sung tính năng mà không làm hỏng tính tương thích ngược.

Patch (Số cuối): Số thứ ba tăng khi có bản vá lỗi hoặc các sửa đổi nhỏ không làm thay đổi tính năng hoặc tương thích ngược.

Một phiên bản SemVer có cấu trúc như sau: Major.Minor.Patch

Dấu gạch ngang và ký tự đặc biệt

SemVer cũng cho phép sử dụng dấu gạch ngang và ký tự đặc biệt để mô tả thêm thông tin:

Dấu gạch ngang: Sử dụng dấu gạch ngang (-) để thêm thông tin thêm sau số phiên bản. Ví dụ: 1.0.0-alpha, 2.0.0-beta.3.

Ký tự đặc biệt: Sử dụng ký tự đặc biệt (+) để thêm thông tin bổ sung, thường liên quan đến sửa đổi trong mã nguồn. Ví dụ: 1.0.0+build123.

Ý Nghĩa và Ưu Điểm

Semantic Versioning có một số ưu điểm quan trọng:

Dễ đọc và hiểu: SemVer cho phép người dùng và nhà phát triển dễ dàng hiểu được tính năng và thay đổi trong phiên bản phần mềm chỉ từ số phiên bản.

Tính tương thích: Các phiên bản có số Minor hoặc Patch tăng chỉ đề xuất thay đổi không làm hỏng tính tương thích ngược, giúp người dùng nâng cấp phần mềm mà không cần lo lắng về sự cố.

Quản lý phiên bản dễ dàng: SemVer giúp nhà phát triển quản lý và theo dõi phiên bản phần mềm một cách hiệu quả.

Hỗ trợ tự động: Nhiều công cụ và hệ thống quản lý gói tự động hỗ trợ SemVer, giúp việc quản lý phiên bản tự động và đáng tin cậy hơn.

SemVer đã trở thành một tiêu chuẩn quan trọng trong ngành phát triển phần mềm và là một công cụ hữu ích để quản lý phiên bản và tăng cường tính tương thích trong phát triển phần mềm mã nguồn mở và thương mại.

Tham khảo: https://semver.org/

Bình luận

Bài viết tương tự

- vừa được xem lúc

Github CLI - Đơn giản hóa cuộc sống cho developer

1. Giới thiệu.

0 0 41

- vừa được xem lúc

Tự build cho mình một hệ thống BADGE MARKDOWN siêu xịn xò - #1

Chào mọi người, lại là mình và cái serie "Something thú vị" của mình đây, serie tổng hợp những kiến thức mình cảm thấy thú vị ở trên google, github, bla bla... Qua đó chia sẻ những project nho nhỏ, thích hợp để mọi người làm cho vui hoặc relax hoặc giải trí. https://github.com/weebNeedWeed/custom-ba

0 0 32

- vừa được xem lúc

Profile README - Portfolio cá nhân nhanh, bổ, rẻ ngay trên Github

. Khi đã chọn nghề IT, dấn thân vào con đường dev khó có ngày yên nghỉ (ngơi), chắc các bạn đã không còn xa lạ với Github, nếu không muốn nói là quá quen (nếu chưa biết Github là cái gì thì bạn cần lăn lộn giang hồ nhiều nữa ). Với một hệ thống siêu khủng, nhiều tính năng siêu tiện ích, một đội ngũ

0 0 87

- vừa được xem lúc

Git objects

. Giới thiệu. Hầu hết các developer đều ít nhiều sử dụng git trong công việc hàng ngày. Khi bắt đầu với git, chúng ta đều được học các câu lệnh quên thuộc như git add ., git commit -m '[Feat] Hello world'.

0 0 33

- vừa được xem lúc

Phân biệt GitHub và GitLab. Nên chọn dịch vụ nào?

Làm thế nào để phân biệt GitHub và GitLab? Ngày nay, quản lý kho là một trong những yếu tố quan trọng của phát triển phần mềm hợp tác. Các tính năng phân phối thành công yêu cầu cần sự kết hợp của các

0 0 46

- vừa được xem lúc

Điểm mặt 10 project đang làm mưa làm gió trên Github trong lĩnh vực phát triển web

Nguồn: https://iainfreestone.hashnode.dev/10-trending-projects-on-github-for-web-developers-12th-march-2021. .

0 0 87