Làm thế nào để viết được một file README tốt?

Làm thế nào để viết được một file README tốt?

Tin ngắn hàng ngày dành cho bạn
  • Cuộc chiến của các thư viện xác thực dữ liệu đầu vào. Mình có thể kể tên ra một số thư viện từng sử dụng để xác thực như validate.js, class-validator sử dụng validate.js "ở dưới mui xe". Tiếp đó là joi và mới nhất là zod.

    Chắc chắn rồi, từng ấy vẫn chưa đủ đâu, mới đây xuất hiện thêm arktype.io nữa. Để làm gì ư? Để "max speed" luôn 🙏

    » Xem thêm
  • Mình nghe xong cuốn "Việt Nam sử lược" rồi, khuyên các bạn nên đọc chứ không nên nghe, vì nghe thôi rất khó theo dòng lịch sử. Cuốn sách này viết theo các mốc thời gian và mỗi mốc thường có vài sự kiện chính nên nhảy chương liên tục.

    Nhân tiện mình đang đọc sang cuốn "Búp sen xanh" của nhà văn Sơn Tùng. Đây là cuốn tiểu thuyết đầu tiên mà mình đọc của Việt Nam quá. Mặc dù chưa đọc xong nhưng biết cuốn sách này kể về tuổi thơ và quá trình trưởng thành của Chủ tịch Hồ Chí Minh, cho đến lúc Bác ra đi tìm đường cứu nước. Mọi người có biết cảm giác đang nghe tiểu thuyết nước ngoài xong rồi quay về nghe của Việt Nam không? Chao ôi câu từ nó gần gũi, cảm giác như được trở về tuổi thơ, bên bếp lửa, cúp điện, cùng với những câu chuyện bà kể cháu nghe vậy. Không còn từ gì để diễn tả.

    Lúc nghe đến đây là tiểu thuyết thì mình hơi ngạc nhiên. Vì lâu nay cứ ngỡ tiểu thuyết là hư cấu, là không có thật, ấy thế sao lại gọi Búp sen xanh là tiểu thuyết?

    Hoá ra đó là tiểu thuyết lịch sử. Nghĩa là dựa trên lịch sử, chuyện có thật chứ không phải hư cấu. Bạn cứ nghĩ nếu bỏ từ tiểu thuyết đi thì buộc câu chuyện phải kể dưới dạng lịch sử và mọi chi tiết phải phản ánh chính xác, dẫn đến câu chuyện như được thuật lại với độ chính xác đến 100%. Ngược lại, thêm yếu tố tiểu thuyết thì sẽ lồng ghép được bối cảnh, lời thoại gần gũi hơn với độc giả, nhưng vẫn đảm bảo yếu tố lịch sử. Đọc đi mọi người, không thất vọng đâu ☺️

    » Xem thêm
  • Có thể là sau một bài viết mình đang soạn dở đây nữa thì sẽ dành khoảng 1 tháng để trau chuốt lại một số bài viết trên blog. Trong khoảng thời gian đó sẽ không viết bài thường xuyên được nữa.

    À, nhưng chuyên mục Threads này thì vẫn cập nhật liên tục cho mọi người ha 🔥

    » Xem thêm

Vấn đề

README là một trong những tệp quan trọng nhất của bất kỳ dự án lập trình nào. Đó là một tệp văn bản thường được viết bằng Markdown giới thiệu về dự án và giải thích nội dung của dự án. Nó giúp mọi người hiểu cách cài đặt và sử dụng mã bạn đã viết, cũng như cách mọi người có thể phát triển dự án cùng với bạn.

Tại sao nên viết README?

Trở lại năm 2010, Tom Preston-Werner đã ủng hộ phát triển dự án theo hướng viết README của bạn trước, trước khi bạn làm bất cứ điều gì khác. Anh ấy nói rằng, mặc dù đã có các phương pháp lập trình và các cách vận hành dự án như TDD và SCRUM, nhưng sẽ tốt hơn nếu như những người khác hiểu được ngay dự án của bạn thông qua mô tả có ở trong README.

Viết README là điều cần thiết để có thể tạo ra một ứng dụng tốt. Nó sẽ định hình giúp bạn những việc cần làm sau này trong dự án.

Như Preston-Werner nói sẽ dễ dàng hơn nhiều để bắt tay vào viết README khi bắt đầu dự án của bạn, đó là thời điểm bạn có động lực nhất. Khi bạn kết thúc dự án của mình, viết README sẽ giống như một nhiệm vụ khác, một công việc nhỏ khác. Điều đó sẽ làm giảm sự hứng thú của bạn khi viết nó.

Nhưng bằng cách nào đi chăng nữa, bạn vẫn cần một tệp README truyền tải đầy đủ nội dung, bởi vì rất ít người sẽ rà soát mã của bạn để hiểu nó hoạt động như thế nào. Nó tốn thời gian và họ có thể không có chuyên môn kỹ thuật để hiểu nó.

Ngoài ra, không chỉ có các developer mới quan tâm đến README của bạn. Các nhà tuyển dụng cũng vậy, họ sẽ xem README tìm hiểu khả năng của bạn. README một lần nữa thể hiện sự chuyên nghiệp của bạn.

Ngay cả khi bạn đang làm dự án cá nhân thì README vẫn quan trọng. Hãy tưởng tượng sau một thời gian bạn quay lại để tiếp tục dự án. Với một README tốt bạn sẽ biết ngay dự án đó đang làm gì và giúp bạn có thể bắt tay vào làm ngay lập tức.

Viết README như thế nào?

Viết một tệp README cần có bố cục rõ ràng và mạch lạc, điều đó đôi khi còn phụ thuộc vào khả năng và tính thẩm mỹ của mỗi người.

Dưới đây là một số điều cần thiết khi bạn viết README của mình:

  • Title (Tiêu đề)
  • Introduction (Giới thiệu - nó nói về cái gì và tại sao bạn viết nó)
  • Install (Cài đặt thế nào?)
  • Use (Cách sử dụng)
  • Technologies Used (Công nghệ được sử dụng - thư viện, phiên bản...)
  • Acknowledgments (Sự nhìn nhận - là nơi bạn viết ra những lời cảm ơn, những bài viết hay bất kì điều gì ở một nơi khác truyền cảm hứng hoặc giúp bạn hoàn thành dự án này)

Đó là những điều cần thiết tối thiểu để giúp ích cho bạn và những người khác. Ngoài những mục trên bạn có thể thêm những mục mà bạn cảm thấy là cần thiết cho dự án. Ví dụ như:

  • Table of contents - ToC (Mục lục - hữu ích nếu README của bạn dài)
  • List of features - LoF (Danh sách các tính năng)
  • Examples (Ví dụ về việc sử dụng - Mã hoặc hình ảnh)

Ví dụ về README hữu ích

Dưới dây là một số dự án trên github mà có tệp README được trình bày rất tốt:

Ngoài ra, còn có một số công cụ giúp bạn trình bày được README một cách có hệ thống. Một trong số đó là readme.so. Đây là một công cụ hỗ trợ tạo một tệp README với đầy đủ các đầu mục, bạn có thể trải nghiệm trực tiếp trên trang web, hoặc tham khảo những đầu mục mà công cụ cung cấp để tự tạo tệp thủ công.

readme.so

README là một tệp cần thiết cho các dự án lập trình của bạn, ngay cả khi nó chỉ dành cho dự án của chính bạn. Bạn nghĩ sao về những điều ở bên trên hay có điều gì khác mà bạn nghĩ là cần thiết cho một README không? Hãy để lại bình luận nhé!

Bài viết được dịch ở x-team và được chỉnh sửa lại để phù hợp cho bạn đọc.

Cao cấp
Hello

Bí mật ngăn xếp của Blog

Là một lập trình viên, bạn có tò mò về bí mật công nghệ hay những khoản nợ kỹ thuật về trang blog này? Tất cả bí mật sẽ được bật mí ngay bài viết dưới đây. Còn chờ đợi gì nữa, hãy bấm vào ngay!

Là một lập trình viên, bạn có tò mò về bí mật công nghệ hay những khoản nợ kỹ thuật về trang blog này? Tất cả bí mật sẽ được bật mí ngay bài viết dưới đây. Còn chờ đợi gì nữa, hãy bấm vào ngay!

Xem tất cả

Đăng ký nhận thông báo bài viết mới

hoặc
* Bản tin tổng hợp được gửi mỗi 1-2 tuần, huỷ bất cứ lúc nào.

Bình luận (2)

Nội dung bình luận...
Avatar
Trịnh Cường2 năm trước
cảm ơn bạn, bài viết như lồng đèn sáng chói vậy
Trả lời
Avatar
Xuân Hoài Tống2 năm trước
Cảm ơn bạn Cường
Avatar
Đức Tống3 năm trước
Bài viết rất hữu ích ạ
Trả lời