2009-03-22 62 views
6

Có một cuộc thảo luận về mã JavaScript trong nhóm làm việc của tôi. Một số người cho rằng chúng ta nên sử dụng tên dài để dễ đọc hơn; những người khác tin rằng tên ngắn nên được ưu tiên cho cùng một bit-on-wire.Chúng ta có nên sử dụng tên dài hoặc viết tắt trong mã hóa JavaScript không?

Nói chung, đó là về quy ước mã hóa. Một bên tin rằng số nhận dạng như "fAutoAdjustWidth" là OK, trong khi những người khác thích "fAtAjtW".

Vì vậy, cách nào tốt hơn? Chúng ta có nên hy sinh khả năng đọc cho hiệu suất hay không?

+2

Tôi nghĩ bạn nên lấy người nào thực sự nghĩ rằng fAtAjtW tốt hơn và biến họ thành huy hiệu nhà phát triển của họ. –

Trả lời

8

Nếu bạn lo lắng về các bit trên dây, bạn luôn có thể chạy bộ chỉnh sửa trên mã của mình. Sau đó, bạn có thể phát triển với tên dài, và bạn có thể phát hành với một tập tin nhỏ hơn nhiều mà có chức năng tương đương. Yahoo YUI Compressor trông giống như nó không gian trắng nén và nén mã thông báo.

21

Làm cho nó dễ đọc và nếu bạn cảm thấy rằng tệp JS kết quả là lớn, hãy sử dụng một trong nhiều trình nén JS trước khi triển khai phiên bản sản xuất, trong khi vẫn duy trì phiên bản phát triển với tên dài.

BTW. nếu bạn thực sự lo lắng về băng thông, hãy sử dụng mod_deflate.

+0

... hoặc gzip. Tò mò: tại sao đây không phải là câu trả lời được chấp nhận? – tim

0

Sử dụng tên nhỏ hơn, nơi không ảnh hưởng đến khả năng đọc mã của bạn. Tên lớn hơn là tốt, nhưng hãy thử chỉ để sử dụng chúng, nơi nó thực sự làm cho một cái gì đó dễ dàng hơn cho chính mình và những người khác để làm theo. Cuối cùng (và như đã nêu trong các câu trả lời khác) minify mã của bạn và/hoặc bật một số loại cơ chế nén máy chủ chẳng hạn như mod_gzip của apache hoặc mod_deflate để giảm số bit truyền qua các dây.

Với điều đó đã nói, tôi sẽ ưu tiên khả năng đọc qua độ gọn của tên biến.

1

Tôi đặc biệt khuyên bạn không nên sử dụng số nhận dạng ngắn. Chỉ cần đọc ví dụ của bạn cho thấy bao nhiêu tài liệu là đột nhiên cần thiết, khi tên như fAtAjtW được sử dụng. Tại một số điểm nó sẽ nhận được khá nhiều unmaintainable và điều này chỉ để tiết kiệm một số byte để chuyển giao. Nếu lý do duy nhất để xem xét tên "ngắn" là làm cho tập lệnh kết quả nhỏ hơn và do đó tiết kiệm băng thông, tôi khuyên bạn nên sử dụng nén gzip, cách này sẽ giúp bạn tiết kiệm hơn một vài byte cho số nhận dạng.

2

Sử dụng tên dài đủ để mô tả tốt các biến và chức năng.

Một trong những lý do bạn cần tên ngắn là làm cho kích thước tệp nhỏ hơn, nhưng bạn có thể thực hiện điều đó bằng các công cụ trong khi tải lên trực tuyến.

3

Những người này có ủng hộ việc không viết nhận xét trong mã của họ không? Hãy hoàn toàn rõ ràng và mô tả với tên biến của bạn.

+0

Đây là câu trả lời hay nhất – Nipuna

2

Có thể sự lo lắng không phải là về các bit trên dây nhưng chi phí của việc đọc và xem lại/xem mã.

Tôi có xu hướng ưu tiên tên ngắn bên trong hàm và tạo tên hàm miễn là cần thiết, nhưng càng ngắn càng tốt mà không mất ý nghĩa hữu ích.

Không nghi ngờ gì đó là sự cân bằng. Nó phụ thuộc vào việc bạn có muốn mã của bạn giống với ngôn ngữ tự nhiên hay không rõ ràng và nhỏ gọn hơn.

Một số tên biến tiền tố để chèn thông tin ngữ cảnh vào chúng.Tôi nói, nếu điều đó là cần thiết, IDE nên cung cấp khả năng tiêm như một lớp phủ hình ảnh trên mã thông qua các ký hiệu ngữ cảnh.

Phiên bản tiếp theo của Visual Studio sẽ làm cho việc tập thể dục chú thích như vậy dễ dàng hơn nhiều thông qua một cơ chế mở rộng hạt mịn mở rộng sâu vào chính trình soạn thảo. Tôi đã không sử dụng Visual Studio để chỉnh sửa Javascript mặc dù.

Tôi thấy rằng mối quan tâm của bạn thực sự là không gian giao dịch. Điều này sẽ không bao giờ, bao giờ hết, là một vấn đề. Luôn luôn luôn luôn ưu tiên khả năng đọc trên bit trên dây, đặc biệt. kể từ khi nén tồn tại, như được ghi chú bởi các nhà bình luận khác.

Điều duy nhất tôi sẽ thêm là ở trên, đó là đôi khi hiểu được thực hiện dễ dàng hơn với tên nhỏ gọn trên tên quá dài. Nhưng thật khó để có được tên viết tắt ngay. Tên dài được dễ dàng hơn và nhanh hơn để thực hiện ngay trong kinh nghiệm của tôi.

Lý do cho các tên ngắn không bao giờ nên nén dữ liệu chỉ mang lại hiệu quả nhận thức. Những gì làm việc là cá nhân.

3

trong khi những người khác thích "fAtAjtW"

Thậm chí nếu "bit-on-wire" là một vấn đề (mà nó không phải), một quy ước đặt tên như thế này sẽ làm cho đoạn code hoàn toàn unmaintainable sau tuần đầu tiên làm việc trong dự án.

Đọc mã sẽ gần như không thể, và khi viết mã, mọi người sẽ liên tục phải suy nghĩ về những thứ như "là 'fAutoAdjustWidth' viết tắt 'fAtAjtW' hoặc là 'fAutAtW'?". Đó là một khoản thuế tinh thần khổng lồ phải trả khi viết mã sẽ dẫn đến năng suất thấp hơn nhiều.

Ngày đầu đó, vấn đề càng trở nên trầm trọng hơn bởi thực tế là trong Javascript bạn sẽ nhận được một biến mới cho mỗi tên được nhập sai!

1

Một bên tin rằng số nhận dạng như "fAutoAdjustWidth" là OK, trong khi những người khác thích "fAtAjtW".

‘fAtAjtW’ là một trải nghiệm khó đọc, không thể đọc được. Nghiêm túc, ai thích điều đó? Hilarious và không thể nhớ - đó là ‘AtAjt’, hay ‘AutAdj’…?

‘autoAdjustWidth’ sẽ là tên thuộc tính đầy đủ phù hợp. (Tôi không bị thuyết phục về ký hiệu tiền tố 'f' chút nào, nhưng đó là một vấn đề khác.) Đôi khi bạn muốn một tên rất ngắn cho một biến ngắn ngủi (ví dụ: tạm thời trong một vòng lặp nhỏ), trong trường hợp này tôi 'd cá nhân đi thẳng cho' var aaw 'hơn là cơn ác mộng trên.

Đối với hiệu suất, sẽ không có sự khác biệt. JavaScript không quan tâm bạn tạo tên biến bao lâu và giả sử bạn đang xì hơi các tập lệnh của mình trên đường đến trình duyệt, việc nén sẽ loại bỏ bất kỳ lợi thế chuyển nào của các tên ngắn hơn.

2

Sử dụng tên biến lớn vì chúng giúp lập trình viên.

Để lưu bit qua dây, hãy rút ngắn Javascript của bạn trước khi triển khai nó vào máy chủ sản xuất. Dean Edwards' packer có tùy chọn để nén tên biến, trông giống như tốt nhất của cả hai thế giới cho bạn.

1

Ai nghĩ "fAtAjtW" là thích hợp hơn là sử dụng một số phương pháp dược lý trong lập trình của họ. fAutoAdjustWidth rất tốt và rất thận trọng. Thư viện Javascript không sử dụng tên như fAtAjtW vì một lý do.Nếu bạn lo lắng về kích thước thì có lẽ lo lắng của bạn bị thất lạc. Tuy nhiên, tôi khuyên bạn nên sử dụng một số loại minifier. Tuy nhiên, mà nói, không sử dụng ridiculously dài; có lẽ bất cứ điều gì hơn 25-30 ký tự là đi một chút xa.

0

Tên dài và mô tả.

Và thử và tạo các phương thức độc đáo nhất có thể. Điều này giúp điều hướng. Nếu bạn muốn tìm tất cả các tập quán của một phương pháp cụ thể, có ít khả năng bạn sẽ xung đột với một phương thức khác có cùng tên.

IDE Javascript hiện đại cũng có thể thực hiện tái cấu trúc phương thức (xem: http://blue-walrus.com/2013/08/review-javascript-ides/). Điều này là rất khó nếu các phương thức được gọi là giống nhau.

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