3. Sử dụng một hệ thống quản lý phiên bản (Version)

Estimated reading: 4 minutes 244 views

Tóm tắt

Tục ngữ Trung Quốc có câu “Mực nhạt hơn trí nhớ tốt nhất”: Hãy sử dụng hệ thống kiểm soát phiên bản/ Version Control System (VCS). Không giữ các file được tải mã về (check-out) trong thời gian dài. Thường xuyên tải mã lên (check-in) sau khi chương trình của bạn đã vượt qua bài kiểm tra đơn vị (unit test). Đảm bảo rằng mã được tải lên (check-in) đã được biên dịch thành công.

Thảo luận

Hầu hết các dự án kể cả những dự án nhỏ đều có nhiều Dev và thời gian làm việc chung dài hơn một tuần. Khi đó bạn sẽ cần so sánh mã nguồn, lịch sử các phiên bản của cùng một hay nhiều file để xách định Ai/ Thời điểm/ Nội dung thay đổi… Bạn sẽ cần phải kiểm soát và quản lý các thay đổi trong mã nguồn, tài liệu.

Khi có nhiều Dev trong cùng một Team, những Dev đó có thể lập trình song song thậm chí trên cùng một file. Như vậy bạn cần các công cụ để tự động kiểm tra/ xác định phiên bản của file và trong một số trường hợp, hợp nhất (merge code) các chỉnh sửa. VCS sẽ giúp cho công việc kiểm soát, quản lý, hợp nhất các phiên bản được nhanh chóng và chính xác hơn làm bằng tay. Và bạn không có thời gian để loay hoay với công việc quản trị, bạn có một dự án đang chờ bạn viết mã.

Ngay cả khi dự án có 1 mình bạn thì cũng không tránh khỏi những lúc bạn thốt lên “sao thế nhỉ?”, “hả?”, “cái gì thế này?”…và cần tìm ra thời điểm, lý do hay những thay đổi trong mã code đã gây ra bug. VCS có thể tự động truy cứu lịch sử phiên bản, giống như bạn có thể quay ngược đồng hồ vậy. Bạn có muốn tham khảo lịch sử hay không, không phải là vấn đề; vấn đề là khi nào bạn muốn xem lại lịch sử mà thôi.

Một nguyên tắc khi dùng VCS đó là không được làm hỏng quá trình build, nói cách khác là không check-in mã code chưa biên dịch thành công.

Có nhiều công cụ VCS trên thị trường, hãy chọn một trong số chúng và sử dụng. Hãy tham khảo: GitHub, GitLab, Bitbucket, SVN (Subversion), Mercurial, Perforce, Git, SourceForge, CVS.

Ngoại lệ

Một số dự án nhỏ hơn 1 tuần với 1 người làm thì có thể không cần sử dụng VCS, nhưng việc check-in mã code để lưu giữ cũng là cần thiết.

Tham khảo

[BetterSCM] • [Brooks95] §11, §13 • [CVS]

Link

Leave a Comment

Chia sẻ:

3. Sử dụng một hệ thống quản lý phiên bản (Version)

Or copy link

CONTENTS