3 điểm bởi GN⁺ 2023-11-28 | 1 bình luận | Chia sẻ qua WhatsApp

Thành quả và kế hoạch sắp tới của trình định dạng mã Prettier

  • Prettier là một trình định dạng mã JavaScript, xử lý tinh tế nhiều phong cách viết mã khác nhau và có mức độ được chấp nhận rất cao.
  • Khi công việc liên quan đến toán tử ba ngôi hoàn tất, Prettier sẽ đạt đến trạng thái ổn định và sau đó dự định tập trung vào cải thiện hiệu năng.
  • Trong thời gian qua, Prettier đã cung cấp tốc độ đủ nhanh, nhưng do thiếu cạnh tranh nên không có nhiều động lực mạnh để cải thiện hiệu năng.

Cạnh tranh và phần thưởng cho cải thiện hiệu năng

  • Nhóm Prettier đã công bố sẽ trao phần thưởng 10.000 đô la nếu một dự án viết bằng Rust vượt qua 95% bộ kiểm thử của Prettier.
  • CEO của Vercel là Guillermo Rauch và napi.rs đã cung cấp thêm kinh phí, nâng tổng giải thưởng lên 22.500 đô la.
  • Dự án Biome đã giành được phần thưởng này, khi nhiều người cùng hợp tác để cải thiện khả năng tương thích chỉ trong 3 tuần.

Tăng cường năng lực cạnh tranh của Prettier

  • Dự án Biome đã đặt ra thách thức để Prettier cải thiện hiệu năng bằng cách cung cấp một triển khai tương thích với Prettier nhưng nhanh hơn rất nhiều.
  • Fabio Spampinato đã phát hiện nhiều điểm kém hiệu quả trong CLI của Prettier và có kế hoạch cải thiện chúng trước cuối năm.
  • Dự án Biome đã phát hiện các lỗi và những quyết định còn gây tranh cãi của Prettier, từ đó mang lại cơ hội để Prettier cải thiện.

Các khoản quyên góp hỗ trợ Prettier

  • Prettier tiếp tục thành công nhờ các khoản quyên góp từ nhiều doanh nghiệp và cá nhân.
  • Các công ty như Indeed, Frontend Masters, Sentry, Salesforce, Airbnb, Cybozu cùng các cá nhân như Shintaro Kaneko và Suhail Doshi đã quyên góp những khoản tiền lớn.
  • Nhờ các khoản quyên góp này, trong 2 năm qua Prettier đã có thể chi trả 1,5 nghìn đô la mỗi tháng để Fisker Cheung và Sosuke Suzuki tiếp tục phát triển Prettier.
  • Với ngân sách hiện tại, dự án có thể vận hành trong 8 tháng và đang kêu gọi thêm quyên góp.

Ý kiến của GN⁺

  • Prettier giữ vai trò quan trọng trong lĩnh vực định dạng mã, và nỗ lực nâng cao trải nghiệm nhà phát triển thông qua cuộc cạnh tranh cải thiện hiệu năng lần này là rất nổi bật.
  • Thành công của dự án Biome cho thấy sự hợp tác và cạnh tranh trong hệ sinh thái mã nguồn mở có thể tạo ra những thay đổi tích cực như thế nào.
  • Bài viết này là một ví dụ thú vị về cách hợp tác và cạnh tranh trong cộng đồng công nghệ có thể thúc đẩy sự phát triển lẫn nhau.

1 bình luận

 
GN⁺ 2023-11-28
Ý kiến trên Hacker News
  • Bạn có thể thắc mắc vì sao nhóm Prettier lại tài trợ cho dự án khác! Thực tế, Prettier đang giữ vị thế thống trị với vai trò trình định dạng mã JavaScript, và do thiếu cạnh tranh nên họ ít có động lực cải thiện hiệu năng hay xử lý nhiều trường hợp biên khác nhau.

    • Có ý kiến đặt câu hỏi vì sao nhóm Prettier lại hỗ trợ các dự án khác. Người này chỉ ra rằng Prettier đang gần như độc quyền với vai trò trình định dạng mã JavaScript, nhưng vì thiếu cạnh tranh nên động lực để cải thiện hiệu năng hoặc sửa các trường hợp đặc biệt là khá thấp.
  • Nhiều người không thừa nhận điểm đó và đang bình luận lý do của họ:

    • Điều đó cho thấy dự án Biome, bằng cách khớp toàn bộ bộ kiểm thử, đã phát hiện ra nhiều lỗi và quyết định gây tranh cãi của Prettier, đồng thời có thể cải thiện chúng.
  • Tôi cực kỳ hào hứng về việc này.

    • Có người bày tỏ sự thán phục việc nhóm Biome nhanh chóng đạt được mức tương thích 95% với Prettier. Họ kỳ vọng mức tăng tốc tối đa cho việc định dạng JavaScript bằng Rust, tương tự xu hướng của trình định dạng Python là ruff. Wasmer cũng đã treo thưởng $2,500 để biên dịch Biome sang WASIX, và họ hy vọng Biome sớm có thể chạy trên Wasmer.
  • Tốc độ lúc nào cũng đáng hoan nghênh, nhưng tôi ước Prettier bớt độc đoán hơn một chút.

    • Có người cảm thấy Prettier quá độc đoán trong việc định dạng mã, đặc biệt không hài lòng với việc nó không duy trì được cách định dạng theo ý họ, nhất là về độ dài dòng. Họ cho rằng mã được định dạng bằng Prettier kém dễ đọc hơn so với các trình định dạng khác.
  • Tôi vẫn còn tức vì tất cả các plugin eslint của tôi đã loại bỏ những linter hoàn toàn ổn chỉ vì Prettier.

    • Có ý kiến cho rằng Prettier quá áp đặt và khó hiểu, và xem nó như một công cụ khác bị ép dùng dù không hề yêu cầu.
  • Điều này có nghĩa là giờ chúng tôi có thể tập trung vào khía cạnh quan trọng tiếp theo: hiệu năng. Bản thân Prettier không hẳn là nhanh, nhưng đủ nhanh cho hầu hết trường hợp sử dụng. Điều đó luôn khiến chúng tôi chưa hài lòng, nên chúng tôi muốn làm gì đó về chuyện này. Không có cách nào tốt hơn một cuộc cạnh tranh thân thiện.

    • Họ muốn giải quyết sự không hài lòng về hiệu năng của Prettier bằng cách treo thưởng $10k cho một dự án viết bằng Rust với mục tiêu vượt qua 95% bộ kiểm thử của Prettier.
  • Dù port sang Rust đang là xu hướng, việc tăng tốc sẽ rất đáng kể vì Prettier chạy mỗi lần lưu file. Tôi sẽ sớm thử Biome. Xin chúc mừng dự án Biome!

    • Việc port sang Rust đúng là đang thịnh hành, và người này kỳ vọng cải thiện tốc độ sẽ rất đáng kể vì Prettier chạy mỗi lần lưu. Đây là phản hồi tích cực dành cho dự án Biome.
  • Benchmark của Biome ở đâu? Chính xác thì nó nhanh hơn Prettier bao nhiêu?

    • Có câu hỏi về benchmark hiệu năng của Biome, cụ thể là nó mang lại hiệu năng tốt hơn Prettier đến mức nào.
  • Bài viết này nói rằng họ làm việc này để tự tạo động lực cải thiện phiên bản JavaScript của chính mình à?

    • Có người thắc mắc liệu việc bắt đầu dự án mới có phải nhằm tạo động lực để cải thiện phiên bản JavaScript hiện có của họ hay không.
  • Vậy cái này không phải để thay thế implementation chính đúng không? Họ chỉ tài trợ cho một dự án mới tương thích được viết bằng Rust thôi à?

    • Có câu hỏi liệu việc tài trợ cho một dự án mới tương thích viết bằng Rust có phải không nhằm thay thế implementation chính hay không.