2010-10-29 26 views
12

Có vẻ như, đối với nhiều tiện ích javascript, các tác giả đã nỗ lực có ý thức để sử dụng các tên biến nhỏ. Ví dụ:Làm thế nào quan trọng là sử dụng tên biến nhỏ trong Javascript?

// Instead of... 
this.mousePositions = new Array(); 
// they use... 
this.mp = new Array(); 

Câu hỏi của tôi là: điều này quan trọng như thế nào trong việc giảm kích thước yêu cầu tệp javascript chung? Tôi đang làm việc để phát hành một widget javascript cho công chúng, trong đó, sau khi được rút gọn, là khoảng 2.8KB. Tuy nhiên, vì lợi thế chính của plugin này là nhẹ như thế nào, liệu có ai có kinh nghiệm về việc liệu nó có đáng để trải qua và chuyển đổi tất cả các tên biến hợp lý mà tôi đã sử dụng với các tên biến mới nhỏ này không? Nó chỉ có vẻ như mã là rất ít có thể đọc được theo cách đó và nó sẽ được nhiều khó khăn hơn để duy trì.

Cảm ơn sự giúp đỡ của bạn!

Charlie

Trả lời

21

Quan trọng như thế nào? không phải thực sự là trừ khi chúng được sử dụng khắp nơi, delivering your scripts via gzip compression phủ nhận phần lớn chi phí byte tên ở đó.

Nhưng tại sao không có tốt nhất của cả hai từ? Sử dụng các tên mô tả mô tả khi phát triển (tại sao tự trừng phạt?), then minify your scripts là một phần của quy trình xây dựng để có được tên nhỏ gọn cho mã sản xuất và chuyển giao tối thiểu cho người dùng.

+0

Tuyệt vời! Điều này giúp một tấn. Nó cũng rất dễ chịu khi biết rằng tôi có thể nhận được những lợi ích mà không có sự đau đớn trong tên biến mông. – candrews

+0

Giá trị chỉ ra rằng các bộ lọc khác nhau hoạt động ... khác nhau. Ví dụ máy nén YUI là bảo thủ và sẽ không làm giảm bớt tên của các thuộc tính đối tượng ('thing.mouseposition' =>' aa') trong trường hợp nó được truy cập động ở nơi khác trong mã của bạn ('var foo = 'mouseposition';/*. .. nhiều mã ... */var pos = thing [foo] ').Việc đóng cửa của Google đi xa hơn và sẽ rút ngắn các tên như thế này nhưng yêu cầu cấu hình nhiều hơn để trợ giúp khi liên kết nhiều tệp nguồn với nhau, nơi không thể rút gọn tên thuộc tính mà không phá vỡ mã phụ thuộc trong các mô-đun khác. – Day

4

Nhiều lần, tác giả sẽ viết dưới hình thức lâu hơn, để có thể đọc, và sau đó có một chương trình như Google Closure Compiler, hoặc YUI Compressor để rút ngắn nó, để chuyển nhanh hơn cho khách hàng.

+0

Tuyệt vời! Cảm ơn bạn đã liên kết - Tôi sẽ xem xét chúng. – candrews

0

Nó không quan trọng chút nào. Thực sự, lợi thế duy nhất là để ngăn không cho mọi người biết mã của bạn hoạt động như thế nào. Nếu bạn không thể đọc được nó thì kích thước của các tên biến là không liên quan. IMO.

3

Trình tối ưu hóa tốt sẽ rút ngắn tên biến. Bạn nên giữ một bản sao có thể đọc được của mã nguồn với các tên biến tốt và khoảng trắng. Sau đó, bạn nên giảm thiểu nó để sử dụng trên sản xuất. Bản gốc sẽ được sử dụng để phát triển và gỡ lỗi thêm. Bạn nên sử dụng một lược đồ đặt tên tốt cho quá trình này. Ví dụ: Tạo my_program_v1.js rồi chạy thông qua trình chỉnh sửa như Google's Closure compiler và đặt tên cho kết quả là my_program_v1.min.js và phân phát phiên bản đó trên Web.

0

Bạn có thể phát triển tập lệnh của mình bằng cách sử dụng tên dài hơn, mang tính mô tả hơn cho các biến của bạn và sau đó giảm thiểu tệp tập lệnh của bạn để phát hành sản phẩm. Bằng cách này bạn có một cái gì đó rất dễ đọc cho phát triển và một cái gì đó nhỏ (tương đối) và nén để gửi cho khách hàng.

Có rất nhiều công cụ rút gọn ở ngoài đó.

Minify jQuery based js files

Các vấn đề liên quan