Làm thế nào để viết được một file README tốt?
Bài viết được sự cho phép của tác giả Tống Xuân Hoài
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)
Tham khảo việc làm Java Developer hấp dẫn trên TopDev
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:
- ai/size-limit: Hình ảnh đầy đủ và giải thích chi tiết.
- crelies/AdvancedList: Giải thích ngắn gọn và sử dụng Emojis bắt mắt.
- maxvoltar/photo-stream: ToC đẹp, đẩy đủ các mục.
- release-it/release-it: Có GIF, hướng dẫn đầy đủ.
- ArmynC/ArminC-AutoExec: LoF gọn gàng, mô tả rõ ràng.
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 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 gốc được đăng tải tại 2coffee.dev
Xem thêm:
- Viết blog sử dụng markdown, pelican, github pages
- Top 10 quy tắc học lập trình mà ai cũng nên theo
- Quy tắc viết code dễ đọc, tối ưu và dễ bảo trì nhất
Xem thêm Việc làm IT hấp dẫn trên TopDev
- G Giải Quyết Bài Toán Kinh Doanh Bằng Big Data và AI
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- F Framework nào tốt nhất cho dự án của bạn? – Checklist chi tiết
- K Kinh nghiệm xử lý responsive table hiệu quả
- S Stackoverflow là gì? Bí kíp tận dụng Stack Overflow hiệu quả
- 7 7 kinh nghiệm hữu ích khi làm việc với GIT trong dự án
- B Bài tập Python từ cơ bản đến nâng cao (có lời giải)
- B Bảo mật API là gì? Một số nguyên tắc và kỹ thuật cần biết
- H Hướng dẫn cài đặt và tự học lập trình Python cơ bản từ A-Z
- C Chinh Phục Phân Tích Dữ Liệu Với Pandas Trong Python: Hướng Dẫn Từng Bước