Các công cụ quản lý source code cho lập trình nhúng
Trong quá trình lập trình, sẽ có thời gian code chương trình của chúng ta ngày càng nhiều, các thư viện càng lớn, nhiều lúc lập trình hôm nay ngày mai hoặc vài tháng sau xem lại đống code của chúng ta mà không thể hiểu được mình đã làm gì, thậm chí còn phải thốt lên rằng: “Cái này là do mình viết à ?”, còn viết code 1 mình mình thì cũng không sao, giờ muốn bạn bè, muốn làm chung với người này người kia để tăng tốc dự án, chia việc ra thì phải làm sao ? Rất khó phải không nào ? Không lẽ lại copy code xong up lên google hoặc copy sang usb để gửi cho bạn bè ? Thế các dự án open source họ đã làm việc cùng nhau như thế nào ? Các công cụ hỗ trợ họ làm là gì ? Hôm nay mình xin giới thiệu 1 số công cụ giúp cho chúng ta quản lý nhiều phiên bản khác nhau, lập trình một cách có tổ chức, theo dõi được bug, quản lý release sản phẩm, … tất nhiên là hoàn toàn miễn phí.
GitHub
Đây là gã khổng lồ trong lĩnh vực này với nhiều code repository nổi tiếng, không những về nhúng mà còn về rất nhiều thứ khác. Nó hoàn toàn miễn phí cho tất cả mọi người sử dụng, hầu hết các dự án opensource đều được cung cấp mã nguồn tại đây. Tuy nhiên đúng với tính chất mở, nếu bạn có dự án yêu cầu tính bảo mật thì có thể mua phiên bản trả phí
Một số tính năng chính:
- Xem các thay đổi, các chú thích ở từng dòng code, bác cáo các lỗi
- Dễ dàng làm việc với người khác
- Có tích hợp với một số ứng dụng và công cụ
- Có 1 số công cụ để kiểm tra project
- Mỗi GitHub repository đều được xem như là Subversion repository
- Có thể dùng công cụ của SVN để checkout và commit lên GitHub
- Có phiên bản cho Windows, Linux và Mac OS
Giá:
- Với Cá nhân
- Miễn phí mọi thứ, không có private repositories
- Ngoài ra còn có các gói Micro, Small, Medium với từng mức giá khác nhau theo tháng (7-50$/ tháng) và giới hạn từ 5-20 private repositories
- Với tổ chức
- Miễn phí mọi thứ, không có private repositories
- Các gói Bronze, Silver, Gold, Platinum giá đắt hơn (25-200$/ tháng và số lượng private repositories từ 10-125)
Hiện tại thì hocARM cũng đang sử dụng gói free để chia sẻ source code cho các bạn, nếu các bạn có ý định dùng cho cá nhân hoặc tổ chức thì có thể tham khảo Bitbucket trước khi mua các gói trả phí của Github
Bitbucket
Được phát hành bởi công ty Atlassian nổi tiếng trên thế giới với việc không giới hạn private code repositories, cùng với Github thì nó cũng là một trong những công cụ quản lý source code rất phổ biến hiện nay
Một số tính năng chính:
- Phù hợp cho một nhóm nhỏ, có thể quản lý mọi thứ, thêm bớt thành viên hoặc chia sẻ các repositories, tính năng này giống với Github
- Review lại các thay đổi một cách dễ dàng
- Cho phép các thành viên thảo luận bên trong source code
- Theo dõi tất cả các commit lên project với JIRA (bạn có thể xem hình trên để nắm được sơ bộ JIRA nó như thế nào)
Giá:
- Tất cả các phiên bản đều là không giới hạn private repos, code reviews, tích hợp JIRA, tên miền riêng biệt và các REST API, miễn phí với 5 người dùng và tính phí với 10 người dùng trở lên theo tháng, quá tuyệt cho team làm dự án với số thành viên giới hạn.
Sourceforge
Cái này chắc là lâu đời nhất từ trước tới giờ, từ ngày Git còn chưa ra đời thì nó là lựa chọn số 1 cho các project opensource, hiện giờ vẫn được xài nhiều (có lẽ do các nhóm ngai di chuyển đi nơi khác), tính năng không khác gì Github.
CodePlex
Đây là sản phẩm của Microsoft cho các dự án open source, tính năng giống với Github
Launchpad
Launchpad có thêm tính năng là khả năng tạo ra các gói cho Ubuntu và có thể dịch dự án của bạn ra nhiều thứ tiếng khác nhau
Eclipse
Cái này thì quá quen thuộc nếu các bạn đã dùng qua IDE Eclipse, ngoài IDE thì Eclipse còn có thêm chỗ để có thể cùng làm các opensource khác nhau.
Codebase
Codebase khá chuyên nghiệp, cung cấp cho ta tài khoản miễn phí nhưng giới hạn trong một dự án, được cái là dự án đó có công cụ quản lý code và quản lý dự án siêu tốt. Thiết kế của nó sẽ làm bạn say mê thích thú tới mức phải bỏ tiền ra mua để sử dụng cho các dự án tiếp theo. Ít nhưng sắt ra miếng, cũng đáng để thử đó chứ
Pastebin
Công cụ này thì quá tuyệt vời, có thể dùng để share những code đã sửa lỗi một cách nhanh chóng cho một người nào đó gặp lỗi với file source code của mình.
Assembla
Assembla này thì tuyệt vời với phiên bản miễn phí không giới hạn private SVN, Git & P4, không giới hạn user, chúng ta sẽ có 1GB để lưu dữ liệu, đây cũng là tài nguyên được mình hay sử dụng trước khi biết tới Git và Bitbucket
Kết
Có rất nhiều công cụ khác nhau cho chúng ta có thể lựa chọn, mỗi công cụ đều có cái hay cái dở riêng trong tầm bản miễn phí, ở đây có Github và Bitbucket là phổ biến nhất và hiện mình đang sử dụng nên mình sẽ sớm có bài hướng dẫn cơ bản cho các bạn.