Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
Ngày đầu vào công ty mới hoặc tham gia dự án mã nguồn mở, bạn mở dự án và thấy hàng trăm thư mục, hàng nghìn file. Cảm giác ngợp là bình thường. Không ai đọc hết từng dòng của một codebase lớn, điều quan trọng là có chiến lược để hiểu nó từ ngoài vào trong.
Đọc code tĩnh khó hơn nhiều so với đọc khi có thể chạy. Hãy làm cho dự án chạy, dù mất thời gian cài đặt. Khi chạy được, bạn có thể đặt breakpoint, xem log, thử dữ liệu và quan sát. Nếu hướng dẫn cài đặt thiếu hoặc sai, ghi lại và cập nhật tài liệu là một đóng góp đầu tiên rất có giá trị.
Duyệt qua cấu trúc ở mức cao. Hầu hết dự án tuân theo quy ước của framework hoặc ngôn ngữ, ví dụ:
| Thư mục thường gặp | Thường chứa |
|---|---|
| src/ hoặc app/ | Mã nguồn chính |
| tests/ | Các bài kiểm thử, nguồn học rất tốt |
| config/ | Cấu hình ứng dụng |
| routes/ hoặc controllers/ | Điểm vào của các yêu cầu |
| models/ hoặc entities/ | Các đối tượng dữ liệu |
| migrations/ | Lịch sử thay đổi cấu trúc database |
Tên thư mục cho bạn manh mối về cách tổ chức: theo tầng (controllers, services, repositories) hay theo tính năng (users, orders, payments).
Thay vì đọc rải rác, hãy chọn một chức năng cụ thể và lần theo nó, ví dụ "người dùng bấm nút Đặt hàng thì chuyện gì xảy ra". Bắt đầu từ điểm vào (route, sự kiện giao diện), đi qua các tầng xử lý, đến database và quay về phản hồi.
Sau vài luồng như vậy, bạn sẽ nhận ra các mẫu lặp lại và hiểu kiến trúc chung.
git log và git blame: cho biết ai sửa dòng nào, khi nào và vì sao (qua commit message và PR liên kết).Cách học nhanh nhất là sửa thật. Chọn một lỗi nhỏ hoặc một cải tiến vặt (đổi chữ, thêm validation) và đi hết quy trình: sửa, chạy test, mở pull request. Bạn sẽ học được quy ước code, quy trình review và các phần liên quan mà không bị áp lực của tính năng lớn.
Khi mới đọc, bạn sẽ gặp đoạn code khó hiểu và dễ vội kết luận "ai viết dở thế". Hãy nhớ rằng code thường là kết quả của nhiều ràng buộc về thời gian, yêu cầu thay đổi và lịch sử. Hãy tìm hiểu bối cảnh trước khi phán xét, và nếu thực sự cần cải thiện, hãy làm bằng refactor nhỏ có test.
Đọc codebase lớn là kỹ năng luyện được: hiểu bức tranh lớn, chạy được dự án, lần theo từng luồng, tận dụng test và lịch sử Git, rồi bắt tay sửa thật. Mỗi dự án bạn đọc sẽ làm dự án tiếp theo dễ hơn.
Để có nền tảng vững khi đọc code người khác, bạn có thể bắt đầu từ các khóa học cơ bản đến nâng cao tại codebem.com.
Nguyễn Đình Cường
0 comment