GeekNews
Hướng dẫn phong cách Rust của Google
Phần mềmLần đầu xuất hiện 29 điểm2 bình luận
Google vừa đưa ra một bộ hướng dẫn viết mã (style guide) cho Rust, một ngôn ngữ lập trình. Bộ hướng dẫn này chỉ cho kỹ sư Google cách viết mã Rust sao cho rõ ràng, nhất quán và dễ thay đổi về sau.
Chuyện gì đã xảy ra
Google đã viết một bộ hướng dẫn về cách viết mã Rust cho nhiều sản phẩm của mình. Hướng dẫn này không chỉ nói về cách trình bày mã. Nó còn đưa ra lời khuyên về cách thiết kế API (cách các phần mã kết nối với nhau) và cách xây dựng bên trong từng phần mã.
Các con số và sự kiện chính
- Rust được dùng trong nhiều dự án của Google, gồm google3, Android, ChromeOS, Fuchsia và Chrome.
- Mã phải chịu được việc được dùng rất lâu, nên viết cẩn thận hơn là đáng giá nếu giúp mã dễ đọc hơn.
- Thư viện (library) phải tuân theo quy tắc thiết kế API. Mã ứng dụng nên làm theo, nhưng ở mức khuyến nghị mạnh.
- Trong Chromium, Google ưu tiên các crate nhỏ (crate là một đơn vị biên dịch), lý tưởng là mỗi crate chỉ có một tệp.
- Nếu hướng dẫn của Google mâu thuẫn với quy tắc công khai của Rust, thì hướng dẫn của Google được ưu tiên.
Vì sao cần có quy tắc chung
Google muốn mã Rust trông giống nhau bên trong cùng một dự án và giữa các dự án với nhau. Mã nhất quán cũng giúp đặt ra một tiêu chuẩn chất lượng. Ngoài ra, Google cũng theo các quy tắc công khai của Rust ở bất cứ chỗ nào có thể, để kỹ sư mới không phải học một cách viết hoàn toàn khác.
Vì sao điều này quan trọng
Khi nhiều người cùng viết và sửa một lượng mã lớn, mã đồng nhất sẽ dễ đọc, dễ bảo trì và dễ cập nhật hơn. Quy tắc này cũng giúp các công cụ thực hiện những thay đổi lớn trên nhiều tệp cùng lúc, gọi là Large-Scale Changes (LSC, tức các cập nhật lớn cho nhiều tệp một lúc). Với một công ty lớn như Google, điều đó tiết kiệm rất nhiều công sức.
Cần theo dõi điều gì
- Cách các dự án lớn của Google áp dụng bộ hướng dẫn này trong thực tế.
- Việc tách mã thành các crate nhỏ trong Chromium có làm thay đổi cách các nhóm làm việc không.
Chú giải
- Rust
- Ngôn ngữ lập trình tập trung vào sự an toàn và tốc độ khi chạy chương trình.
- API
- Cách các phần mã khác nhau kết nối và trao đổi thông tin với nhau.
- Chromium
- Dự án mã nguồn mở làm nền tảng cho trình duyệt Chrome.
- crate
- Một đơn vị biên dịch trong Rust, giống như một gói mã có thể dùng lại.
- ChromeOS
- Hệ điều hành của Google dành cho máy tính xách tay và máy tính bảng dùng Chrome.