Plugin ESLint chuyển đổi biểu thức Boolean phủ định bằng định luật De Morgan
(github.com/azat-io)Ra mắt De Morgan cho ESLint.
Đây là plugin giúp chuyển đổi các biểu thức logic trong mã JavaScript thành dạng đơn giản hơn và dễ hiểu hơn.
Từ:
!(a && !b && c <= d)
thành
!a || b || c > d
2 bình luận
Tôi nghĩ biểu thức điều kiện nên được viết sao cho dễ đọc và dễ hiểu chứ nhỉ.
Hay đấy! Bạn đang so sánh như thế nào để xác định AST nào là tốt hơn giữa hai AST?
Ví dụ, khi so sánh hai biểu thức tương đương
(!a || !b || !c)và!(a && b && c)theo độ sâu AST thì vế trước có lợi hơn, nhưng nếu tính theo số lượng leaf thì vế sau lại có lợi hơn. Nếu là tôi, có lẽ tôi sẽ muốn chuyển đổi theo hướng vế sau vì số phép toán sẽ ít hơn.Sẽ rất hay nếu có một tùy chọn cho phép chuyển đổi khác nhau tùy theo ưu tiên tối ưu hóa là depth hay số lượng leaf.