Home

Nguyễn Hà Dương edited this page Oct 13, 2013 · 16 revisions

Lưu ý

  • bogoengine sử dụng C và trực tiếp Makefile, không thông qua bất kỳ build tool nào. Lý do: tiết kiệm công sức cho việc mở rộng và bảo trì mã nguồn mà vẫn đạt được hiệu suất cao.

  • bogoengine dùng thư viện UTF-8 tự viết, nhỏ gọn, phục vụ chính xác yêu cầu và không thêm dependency.

  • bogoengine đặc biệt chú trọng vào khả năng tái sử dụng (reusability), khả năng bảo trì (maintainability), khả năng mở rộng (extensibility)mức độ trong sáng, "tao nhã" (clearance and elegant) của mã nguồn.

Tính năng

  • Xử lý một ký tự khi ký tự đó được đưa vào một string, thay đổi string theo cách gõ thông qua hàm: processKey.

  • Cho phép người dùng tự định nghĩa cách gõ của riêng mình.

  • bogoengine sử dụng bảng mã UTF-8, tất cả các thao tác trên các bảng mã khác được thực hiện qua các hàm chuyển đổi (conversion).

  • Tự động khôi phục tiếng Anh.

  • Cho phép định nghĩa gõ tắt (macro).

  • Chỉ hỗ trợ cách bỏ dấu kiểu cũ

Tham gia dự án

Dành cho người sử dụng bogoengine

Dành cho người phát triển bogoengine

Để bắt đầu, bạn có thể xem một trong các chủ đề sau:

Nguyên tắc phát triển

  • Các commit thử nghiệm, tính năng mới nằm trong nhánh experimental.
  • Chỉ commit vào nhánh master phiên bản chạy được.
  • Mỗi tính năng luôn có test.
  • Luôn viết tài liệu trước khi viết code.
  • Đóng góp mã nguồn thông qua pull request.

Mô tả kỹ thuật

  • bogoengine sử dụng thư viện UTF-8 tự viết. Tuy rất nhỏ và tính năng rất cơ bản nhưng đây là thư viện UTF-8 thực thụ, có thể tách rời và đem sử dụng cho nhiều project khác.

  • bogoengine sử dụng thư viện unit test tự viết với tính năng rất hạn chế, khó đưa ra sử dụng ngoài phạm vi bộ gõ.