Skip to content

Thực hành tốt nhất

Sau khi nắm vững cú pháp Markdown, làm sao viết tài liệu kỹ thuật chất lượng cao, dễ bảo trì? Hướng dẫn này cung cấp thực hành tốt nhất từ tiêu chuẩn cơ bản đến kỹ thuật nâng cao.

Thiết kế cấu trúc tài liệu

Tổ chức thư mục

project/
├── README.md                 # Tổng quan dự án
├── docs/
│   ├── index.md             # Trang chủ tài liệu
│   ├── getting-started/
│   │   ├── installation.md  # Hướng dẫn cài đặt
│   │   ├── quick-start.md   # Bắt đầu nhanh
│   │   └── examples.md      # Mã ví dụ
│   ├── api/
│   │   ├── overview.md      # Tổng quan API
│   │   ├── authentication.md # Hướng dẫn xác thực
│   │   └── endpoints/       # Tài liệu endpoint
│   ├── guides/
│   │   ├── best-practices.md # Thực hành tốt nhất
│   │   └── troubleshooting.md # Khắc phục sự cố
│   └── changelog.md         # Nhật ký thay đổi
└── assets/
    └── images/              # Tài nguyên hình ảnh

Cấu trúc phân cấp nội dung

# Tiêu đề cấp 1 - Chủ đề tài liệu

Giới thiệu ngắn gọn nội dung và mục tiêu của tài liệu.

## Tiêu đề cấp 2 - Chương chính

### Tiêu đề cấp 3 - Chủ đề cụ thể

Nội dung chi tiết và giải thích...

#### Tiêu đề cấp 4 - Nội dung phân nhỏ

Chi tiết triển khai cụ thể...

##### Tiêu đề cấp 5 - Bổ sung

Lưu ý và gợi ý...

> **Lưu ý**: Tránh dùng tiêu đề trên 5 cấp, sẽ làm cấu trúc quá phức tạp.

Quy phạm biên soạn nội dung

Phong cách ngôn ngữ

✅ Cách viết khuyến nghị:

1. **Ngôn ngữ ngắn gọn, rõ ràng**
   - Tránh câu quá dài
   - Ưu tiên chủ động
   - Giảm dùng thuật ngữ chuyên môn

2. **Giữ giọng văn nhất quán**
   - Trang trọng nhưng thân thiện
   - Hướng tới người dùng
   - Tránh quá thiên về kỹ thuật

3. **Hướng dẫn cụ thể**
   - Dùng số liệu và ví dụ cụ thể
   - Các bước thao tác rõ ràng
   - Nêu kết quả kỳ vọng

❌ Tránh:

- Diễn đạt mơ hồ
- Lạm dụng bị động
- Thiếu bối cảnh cần thiết
- Giả định kiến thức sẵn có

Đoạn văn và định dạng

<!-- ✅ Cấu trúc đoạn văn tốt -->
## Cài đặt Node.js

Để bắt đầu sử dụng công cụ, bạn cần cài Node.js. Node.js là môi trường chạy JavaScript cho phép chạy JS phía máy chủ.

### Yêu cầu hệ thống

Trước khi cài đặt, hãy đảm bảo hệ thống của bạn đáp ứng các yêu cầu sau:

- Hệ điều hành: Windows 10+, macOS 10.12+ hoặc Linux
- RAM: tối thiểu 4GB
- Ổ đĩa: tối thiểu 1GB trống

### Các bước cài đặt

1. Truy cập [trang chủ Node.js](https://nodejs.org/)
2. Tải gói cài đặt phù hợp hệ điều hành
3. Chạy trình cài đặt và làm theo hướng dẫn
4. Mở terminal để kiểm tra cài đặt:

Nếu hiển thị phiên bản là cài đặt thành công.

cài nodejs hãy vào web tải về rồi cài xong kiểm tra phiên bản là được


## Quy phạm ví dụ mã

### Thực hành tốt cho khối mã

Tạo tài khoản người dùng

Ví dụ sau minh họa cách dùng API để tạo người dùng mới:

javascript
// Nhập các thư viện cần thiết
const axios = require('axios');

// Cấu hình endpoint API
const API_BASE_URL = 'https://api.example.com';
const API_KEY = 'your-api-key';

// Hàm tạo người dùng
async function createUser(userData) {
  try {
    const response = await axios.post(`${API_BASE_URL}/users`, userData, {
      headers: {
        'Authorization': `Bearer ${API_KEY}`,
        'Content-Type': 'application/json'
      }
    });
    
    console.log('Tạo người dùng thành công:', response.data);
    return response.data;
  } catch (error) {
    console.error('Tạo người dùng thất bại:', error.response.data);
    throw error;
  }
}

// Ví dụ sử dụng
const newUser = {
  name: 'Zhang San',
  email: 'zhangsan@example.com',
  role: 'user'
};

createUser(newUser);

Kết quả kỳ vọng:

json
{
  "id": "12345",
  "name": "Zhang San",
  "email": "zhangsan@example.com",
  "role": "user",
  "created_at": "2024-01-15T10:30:00Z"
}

Lưu ý quan trọng:

  • Hãy thay your-api-key bằng API key thực tế của bạn
  • Đảm bảo kết nối mạng bình thường
  • Bảo quản API key cẩn thận, không đưa lên hệ thống kiểm soát phiên bản
javascript
// Tạo người dùng
axios.post('/users', data)

Đoạn mã này tạo người dùng.


### Ví dụ dòng lệnh

Triển khai dự án

1. Build dự án

bash
# Cài phụ thuộc
npm install

# Chạy kiểm thử
npm test

# Build bản production
npm run build

2. Triển khai lên máy chủ

bash
# Kết nối tới máy chủ
ssh user@server.example.com

# Vào thư mục dự án
cd /var/www/myproject

# Kéo mã mới nhất
git pull origin main

# Khởi động lại dịch vụ
sudo systemctl restart myproject

3. Xác minh triển khai

bash
# Kiểm tra trạng thái dịch vụ
sudo systemctl status myproject

# Xem nhật ký
sudo journalctl -u myproject -f

Kết quả kỳ vọng:

  • Trạng thái dịch vụ là active (running)
  • Truy cập https://yoursite.com hiển thị phiên bản mới nhất

## Quản lý liên kết và tham chiếu

### Liên kết nội bộ

Hướng dẫn cài đặt chi tiết xem Hướng dẫn cài đặt.

Về xác thực API, xem Tài liệu xác thực.

Nếu gặp sự cố, tham khảo Hướng dẫn khắc phục sự cố.

Nhấn tại đây để xem cài đặt. Chi tiết: ./index.md


### Liên kết bên ngoài

API của chúng tôi dựa trên phong cách kiến trúc REST, tuân theo chuẩn mã trạng thái HTTP.

Để tìm hiểu thêm về JWT, tham khảo Tài liệu chính thức JWTChuẩn RFC 7519.


### Liên kết tham chiếu

Chúng tôi hỗ trợ nhiều phương thức xác thực, gồm API Key, OAuth 2.0JWT.

Hướng dẫn cấu hình chi tiết xem Hướng dẫn cấu hình, FAQ xem Trang FAQ.


## Tối ưu hình ảnh và media

### Quy phạm dùng hình ảnh

Tổng quan giao diện người dùng

Hình dưới đây thể hiện bố cục giao diện chính của ứng dụng:

Giao diện chính ứng dụng

Chú thích hình:

  1. Thanh điều hướng trên cùng chứa mục chức năng chính
  2. Thanh bên trái cung cấp điều hướng nhanh
  3. Khu vực nội dung chính hiển thị trang hiện tại
  4. Thanh trạng thái cuối trang hiển thị thông tin hệ thống

Sơ đồ kiến trúc hệ thống

Sơ đồ kiến trúc hệ thống

Hình: Kiến trúc tổng thể - Quan hệ giữa các thành phần

Xem hình: Hình ảnh


### Tổ chức và đặt tên hình ảnh

assets/ ├── images/ │ ├── ui/ │ │ ├── dashboard-overview.png │ │ ├── user-profile-edit.png │ │ └── settings-general.png │ ├── diagrams/ │ │ ├── system-architecture.svg │ │ ├── data-flow-diagram.png │ │ └── user-workflow.png │ └── screenshots/ │ ├── installation-step-1.png │ ├── installation-step-2.png │ └── installation-complete.png

assets/ ├── images/ │ ├── img1.png │ ├── pic2.jpg │ ├── screenshot.png │ └── diagram.svg


## Nguyên tắc thiết kế bảng

### Bảng dữ liệu

Danh sách endpoint API

Phương thứcEndpointMô tảXác thựcTham số
GET/api/usersLấy danh sách người dùngpage, limit, sort
POST/api/usersTạo người dùng mớiname, email, role
GET/api/users/{id}Lấy người dùng theo IDid (tham số đường dẫn)
PUT/api/users/{id}Cập nhật người dùngid, name, email
DELETE/api/users/{id}Xóa người dùngid (tham số đường dẫn)

Giải thích:

  • ✅ nghĩa là cần xác thực
  • Tất cả endpoint yêu cầu API key hợp lệ trong header
  • Tham số đường dẫn nằm trực tiếp trong URL
  • Tham số truy vấn theo định dạng ?key=value&key2=value2

So sánh gói giá

Tính năngMiễn phíChuyên nghiệpDoanh nghiệp
Số người dùngTối đa 5Tối đa 50Không giới hạn
Lưu trữ1GB100GB1TB
Gọi API1.000/tháng10.000/thángKhông giới hạn
Hỗ trợ kỹ thuậtCộng đồngEmail24/7 chuyên trách
GiáMiễn phí¥99/tháng¥999/tháng

Nâng cấp ngay | Liên hệ bán hàng


### Trình bày dữ liệu phức tạp

Yêu cầu cấu hình máy chủ

Thông số máy chủCấu hình khuyến nghị
Triển khai nhỏ
(<1K người dùng)
Triển khai trung bình
(1K-10K người dùng)
Triển khai lớn
(>10K người dùng)
CPU2 cores4 cores8+ cores
Bộ nhớ4GB8GB16GB+
Lưu trữ50GB SSD200GB SSD500GB+ SSD
Mạng100Mbps1Gbps10Gbps
```

Kiểm soát phiên bản và cộng tác

Quản lý phiên bản tài liệu

<!-- ✅ Thêm thông tin phiên bản ở đầu tài liệu -->
---
title: Hướng dẫn sử dụng API
version: 2.1.0
last_updated: 2024-01-15
author: Nhóm tài liệu kỹ thuật
---

# Hướng dẫn sử dụng API

> **Phiên bản**: Tài liệu áp dụng cho API v2.1.0 trở lên.
> Nếu bạn dùng phiên bản cũ, hãy xem [tài liệu lịch sử](./archive/).

## Nhật ký thay đổi

### v2.1.0 (2024-01-15)
- Thêm quản lý nhóm người dùng
- Tối ưu quy trình xác thực
- Sửa lỗi đã biết

### v2.0.0 (2024-01-01)
- Tái cấu trúc kiến trúc API
- Cập nhật cơ chế xác thực
- Thêm endpoint thao tác hàng loạt

Quy chuẩn commit Git

<!-- ✅ Định dạng thông điệp commit chuẩn -->
docs: cập nhật tài liệu xác thực API

- Thêm ví dụ xác thực OAuth 2.0
- Sửa lỗi trong ví dụ mã
- Cập nhật liên kết liên quan

closes #123

<!-- ✅ Giải thích các loại commit -->
Tiền tố loại:
- docs: cập nhật tài liệu
- feat: thêm nội dung/tính năng
- fix: sửa lỗi nội dung
- style: điều chỉnh định dạng
- refactor: tái cấu trúc tài liệu
- test: thêm kiểm thử ví dụ
- chore: cập nhật quy trình/công cụ

Quy phạm cộng tác tài liệu

<!-- Hướng dẫn đóng góp tài liệu -->
## Hướng dẫn đóng góp

### Quy trình gửi

1. **Fork dự án** - Tạo bản sao cá nhân
2. **Tạo nhánh** - Tạo nhánh tính năng cho thay đổi của bạn
   ```bash
   git checkout -b docs/update-api-guide
  1. Viết nội dung - Theo đúng quy phạm tài liệu
  2. Kiểm thử cục bộ - Đảm bảo render đúng
  3. Commit thay đổi - Theo chuẩn commit
  4. Tạo PR - Mô tả chi tiết thay đổi

Điểm kiểm tra code review

  • [ ] Nội dung chính xác
  • [ ] Ngôn ngữ rõ ràng
  • [ ] Định dạng đúng quy phạm
  • [ ] Liên kết hợp lệ
  • [ ] Ví dụ mã chạy được
  • [ ] Hình ảnh hiển thị đúng

## Khả năng truy cập và quốc tế hóa

### Thiết kế khả năng truy cập

<!-- ✅ Thiết kế tài liệu xét đến khả năng truy cập -->
### Màu sắc và độ tương phản

Khi dùng màu để biểu thị thông tin, hãy cung cấp thêm cách nhận biết khác:

:::: tip Thành công
✅ Thành công: Thao tác đã hoàn tất
::::

:::: danger Lỗi
❌ Lỗi: Thao tác thất bại
::::

### Văn bản thay thế (alt text)

Cung cấp văn bản thay thế có ý nghĩa cho mọi hình ảnh:

![Sơ đồ kiến trúc hệ thống: hiển thị luồng dữ liệu giữa client, cổng API, microservice và cơ sở dữ liệu](/assets/images/main-interface.png)

### Điều hướng bằng bàn phím

Đảm bảo cấu trúc tài liệu hỗ trợ điều hướng bằng bàn phím:

- Sử dụng phân cấp tiêu đề hợp lý
- Cung cấp liên kết mục lục
- Liên kết quan trọng dễ nhận biết

### Cân nhắc quốc tế hóa (i18n)

project/ ├── docs/ │ ├── en/ # Tài liệu tiếng Anh │ │ ├── README.md │ │ └── api/ │ ├── zh/ # Tài liệu tiếng Trung │ │ ├── README.md │ │ └── api/ │ └── ja/ # Tài liệu tiếng Nhật │ ├── README.md │ └── api/

Phiên bản ngôn ngữ

Cập nhật lần cuối: 2024-01-15 (zh-CN) Last updated: January 15, 2024 (en-US) Last updated (ja-JP): 2024-01-15


## Tối ưu hiệu năng

### Tối ưu tải tài liệu

Sơ đồ hệ thống phức tạp

<!-- ✅ Thiết kế phân trang -->
### Tách nhỏ tài liệu lớn

Chia tài liệu dài thành nhiều phần:

1. [Tổng quan](./overview.md) - Khái niệm cơ bản và giới thiệu
2. [Bắt đầu nhanh](./quickstart.md) - Hướng dẫn nhập môn 5 phút
3. [Hướng dẫn chi tiết](./tutorial.md) - Lộ trình học đầy đủ
4. [Tham chiếu API](./api-reference.md) - Tài liệu API đầy đủ
5. [Mã ví dụ](./examples.md) - Tình huống áp dụng thực tế
🔍 Xem tùy chọn cấu hình chi tiết

Cấu hình nâng cao

yaml
# Ví dụ cấu hình chi tiết
server:
  host: 0.0.0.0
  port: 8080
  ssl:
    enabled: true
    cert_file: /path/to/cert.pem
    key_file: /path/to/key.pem

Các tùy chọn này dùng cho kiểm soát tinh chỉnh môi trường sản xuất...

Tối ưu cho công cụ tìm kiếm (SEO)

<!-- ✅ Tối ưu SEO cho tài liệu -->
---
title: "Hướng dẫn xác thực API - Giải pháp xác thực đầy đủ"
description: "Tìm hiểu cách dùng OAuth 2.0, JWT và API Key để xác thực an toàn. Kèm ví dụ mã và thực hành tốt."
keywords: ["Xác thực API", "OAuth", "JWT", "Bảo mật", "Định danh"]
---

# Hướng dẫn xác thực API

Tìm hiểu cách xác thực và ủy quyền yêu cầu API một cách an toàn...

## Nội dung chương này

Hướng dẫn này sẽ bao quát các phương pháp xác thực sau:

1. [Xác thực API Key](#api-key) - Cách xác thực đơn giản, nhanh chóng
2. [OAuth 2.0](#oauth-20) - Khung ủy quyền tiêu chuẩn ngành
3. [Mã thông báo JWT](#jwt) - Xác thực không trạng thái

Đảm bảo chất lượng

Danh sách kiểm tra nội dung

<!-- 📋 Danh sách kiểm tra chất lượng tài liệu -->
## Kiểm tra trước khi phát hành

### Chất lượng nội dung
- [ ] Thông tin chính xác, đầy đủ
- [ ] Ngôn ngữ diễn đạt rõ ràng
- [ ] Cấu trúc logic hợp lý
- [ ] Ví dụ mã có thể chạy
- [ ] Ảnh chụp màn hình mới nhất

### Kiểm tra kỹ thuật
- [ ] Kiểm tra tính hợp lệ của liên kết
- [ ] Tô sáng cú pháp mã chính xác
- [ ] Hình ảnh hiển thị đúng
- [ ] Định dạng bảng chính xác
- [ ] Công thức toán render đúng

### Trải nghiệm người dùng
- [ ] Cấu trúc điều hướng rõ ràng
- [ ] Tìm kiếm hoạt động bình thường
- [ ] Hiển thị phù hợp trên di động
- [ ] Kiểm tra tốc độ tải
- [ ] Kiểm tra khả năng truy cập

### Khả năng bảo trì
- [ ] Cập nhật thông tin phiên bản
- [ ] Ghi chép nhật ký thay đổi
- [ ] Đồng bộ tài liệu liên quan
- [ ] Đánh dấu tính năng lỗi thời
- [ ] Cung cấp hướng dẫn di trú

Thu thập phản hồi người dùng

<!-- ✅ Cơ chế thu thập phản hồi -->
## Giúp chúng tôi cải thiện

### Phản hồi tài liệu

Nếu bạn phát hiện lỗi trong tài liệu hoặc có đề xuất cải tiến:

1. **Phản hồi nhanh**: [Tạo issue](https://github.com/example/docs/issues/new?template=doc-feedback.md)
2. **Thảo luận chi tiết**: [Tham gia thảo luận](https://github.com/example/docs/discussions)
3. **Chỉnh sửa trực tiếp**: [Sửa trang này](https://github.com/example/docs/edit/main/docs/api/authentication.md)

### Chấm điểm trang này

Trang này có hữu ích với bạn không?

👍 Hữu ích | 👎 Cần cải thiện | 💡 Gợi ý

### Thông tin liên hệ

- 📧 Nhóm tài liệu: docs@example.com
- 💬 Hỗ trợ kỹ thuật: support@example.com
- 🐦 Mạng xã hội: [@ExampleDocs](https://twitter.com/ExampleDocs)

Cú pháp liên quan

Công cụ và tài nguyên

Công cụ chất lượng tài liệu

  • textlint: Soát lỗi và kiểm tra phong cách văn bản
  • markdownlint: Kiểm tra cú pháp Markdown
  • alex: Kiểm tra ngôn ngữ bao hàm
  • Hemingway Editor: Phân tích khả năng đọc

Nền tảng cộng tác

  • GitBook: Nền tảng cộng tác tài liệu nhóm
  • Notion: Tài liệu đa năng và quản lý tri thức
  • Confluence: Cộng tác tài liệu cấp doanh nghiệp
  • Slab: Nền tảng tài liệu cho nhóm hiện đại

Công cụ phân tích

  • Google Analytics: Phân tích truy cập tài liệu
  • Hotjar: Phân tích hành vi người dùng
  • Mixpanel: Theo dõi tương tác người dùng
  • FullStory: Ghi lại phiên người dùng đầy đủ

Công cụ tự động hóa

  • GitHub Actions: Build và triển khai tài liệu
  • Zapier: Tự động hóa quy trình
  • IFTTT: Quy tắc tự động hóa đơn giản
  • n8n: Tự động hóa workflow mã nguồn mở

Bằng cách tuân thủ các thực hành tốt nhất này, bạn có thể tạo tài liệu kỹ thuật chất lượng cao, thân thiện với người dùng và đặt nền tảng vững chắc cho thành công của dự án.

Được xây dựng bởi www.markdownlang.com