Tại sao mình bắt đầu đọc code nguồn mở mỗi sáng (và bạn cũng nên thử)
Mở đầu
Mỗi sáng thức dậy, trước khi mở Slack hay email công việc, mình dành 15 phút để làm một chuyện mà hồi xưa mình tưởng chỉ dành cho mấy "cao thủ": đọc code của người khác. Không phải đọc lướt, mà là đọc thiệt — từng dòng — mấy thư viện mình đang xài mỗi ngày.
Hồi mới bắt đầu, mình cũng thấy hơi ngại. "Trời ơi, đọc code thiên hạ làm gì? Mình lo code cho kịp deadline đã chứ." Nhưng mà thiệt tình, sau 3 tháng duy trì cái thói quen này, mình thấy kỹ năng code của mình lên một level hoàn toàn mới.
Ảnh: Alexandra Krainyukhova — Pexels
Sao lại là sáng sớm?
Buổi sáng là lúc đầu óc mình còn tỉnh táo nhất, chưa bị đống meeting với bug dí. Mình chỉ việc mở một function nhỏ trong repo nổi tiếng — Express, Lodash, Zod, tuỳ hứng. Không cần hiểu hết 100%, chỉ cần thấy một pattern hay ho là đã có một ngày tốt lành rồi.
Mình học được gì?
Một — pattern mà sách không dạy.
Đọc source của dotenv (chỉ tầm 200 dòng) mình mới vỡ lẽ cách xử lý biến môi trường thiệt ra là như thế nào. Bao nhiêu năm dùng process.env mà mình chưa bao giờ tò mò mở ra coi. Hóa ra nó đơn giản hơn mình tưởng rất nhiều.
Hai — cách tổ chức code có hệ thống. Repo nổi tiếng như RxJS, Zod, hay Vue — người ta chia module, đặt tên function, tổ chức file rất có khuôn phép. Đọc riết, tự nhiên mình bắt chước mà không cần cố gắng. Code cá nhân cũng sạch sẽ hơn hẳn.
Ba — hết sợ "code của người ta". Cái này quý nhất. Hồi xưa gặp bug từ thư viện bên thứ ba, mình chỉ biết nói "chắc do library" rồi lụi tìm workaround. Giờ mình dám mở source lên, trace thử, đọc được error stack rõ hơn, thậm chí có lần còn gửi được PR fix cho tụi nó.
Ảnh: Sarah — Pexels
Làm sao bắt đầu?
Dễ lắm. Mở GitHub, kiếm cái package bạn xài nhiều nhất. Vô folder src/, mở file index.ts hoặc file đầu tiên trong repo. Đọc một function thôi — không cần hết. Nếu thấy choáng thì đọc qua phần test, tụi nó thường viết dễ hiểu hơn.
Mỗi ngày 15 phút là đủ. Quan trọng là đều đặn, đừng nhồi. Một năm sau nhìn lại, mình tin là bạn sẽ thấy cách suy nghĩ về code của mình thay đổi hẳn. Bắt đầu ngày mai đi, thử một lần coi sao 😉
Bonus tip: Nếu bạn không biết bắt đầu từ đâu, thử lodash — nó viết đơn giản. Rồi lên dần zod, vue/core, express. Càng đọc càng ghiền thiệt đó!