1 điểm bởi jsunam 4 giờ trước | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

GWEB là một hệ thống lập trình văn chương (Literate Programming) dành cho ngôn ngữ Go. Nó được phát triển theo mô hình rất sát với cấu trúc CWEB của Donald Knuth.
Nhà phát triển viết song song tài liệu TeX (phần giải thích) và mã Go trong một tệp nguồn .w. Tệp này sau đó được chuyển đổi thành hai đầu ra dành cho máy và con người.

Công cụ và tính năng cốt lõi

Hệ thống GWEB vận hành chủ yếu với hai lệnh cốt lõi.

  • gtangle: Loại bỏ phần mô tả tài liệu, chỉ gom các phần mã Go để tạo ra tệp .go có thể biên dịch. Khi xuất ra, mã được tự động định dạng theo phong cách gofmt.
  • gweave: Tạo tài liệu dàn trang đẹp, dễ đọc cho con người (.tex ➡️ PDF). Từ khóa được in đậm, định danh được in nghiêng, và chỉ mục tham chiếu chéo được tạo tự động.

Đặc điểm và lợi ích chính

  • Định dạng trực quan: Hỗ trợ sẵn chỉ thị //line, nhờ đó khi xảy ra lỗi biên dịch hoặc panic, hệ thống sẽ chỉ chính xác vị trí dòng trong tệp .w gốc thay vì tệp .go.
  • Hệ thống tự self-hosting: Bản thân GWEB cũng được phát triển theo phương pháp lập trình văn chương. Các tệp .w trong thư mục lit/ là mã nguồn gốc thực sự của GWEB.
  • Hỗ trợ trình soạn thảo: Đi kèm cấu hình tô sáng cú pháp (Syntax Highlighting) cho người dùng VS Code, Vim và Emacs.

Với GWEB, bạn có thể ghi chép và quản lý ý đồ thiết kế cùng thuật toán của các dự án Go phức tạp một cách tao nhã, như đang viết một cuốn sách.

Chưa có bình luận nào.

Chưa có bình luận nào.