Các tệp có nên được đặt tên là something-with-hyphens.js, camelCased.js hoặc cái gì khác không?Quy ước đặt tên tập tin javascript là gì?
Tôi không tìm thấy câu trả lời cho câu hỏi này here.
Các tệp có nên được đặt tên là something-with-hyphens.js, camelCased.js hoặc cái gì khác không?Quy ước đặt tên tập tin javascript là gì?
Tôi không tìm thấy câu trả lời cho câu hỏi này here.
Quy ước đặt tên có thể là sử dụng một cái gì đó tương tự như lược đồ đặt tên mà jQuery sử dụng.Nó không được chấp nhận rộng rãi nhưng nó khá phổ biến.
product-name.plugin-ver.sion.filetype.js
nơi cặp product-name
+ plugin
cũng có thể đại diện cho một namespace and a module. version
và filetype
thường là tùy chọn.
filetype
có thể liên quan đến nội dung của tệp. Thường thấy là:
min
cho các tập tin được rút gọncustom
cho các tập tin tùy chỉnh được xây dựng hoặc sửa đổiVí dụ:
jquery-1.4.2.min.js
jquery.plugin-0.1.js
myapp.invoice.js
Không có chính thức, phổ quát, quy ước đặt tên tệp JavaScript.
Có một số tùy chọn khác nhau:
scriptName.js
script-name.js
script_name.js
đều quy ước đặt tên hợp lệ, tuy nhiên tôi thích jQuery đề nghị quy ước đặt tên (đối với jQuery plugin, mặc dù nó hoạt động cho mọi JS)
jquery.pluginname.js
Vẻ đẹp để quy ước đặt tên này là nó rõ ràng mô tả tình trạng ô nhiễm không gian tên toàn cầu được bổ sung.
foo.js
thêm window.foo
foo.bar.js
thêm window.foo.bar
Bởi vì tôi rời ra phiên bản: nó phải đến sau khi tên đầy đủ, tốt nhất là ngăn cách bởi dấu gạch ngang, với thời gian giữa lớn và nhỏ phiên bản:
foo-1.2.1.js
foo-1.2.2.js
foo-2.1.24.js
+1 cho 'Vẻ đẹp đối với quy ước đặt tên này là nó mô tả rõ ràng ô nhiễm không gian tên toàn cầu đang được thêm vào.', không bao giờ để ý rằng –
Câu hỏi duy nhất của tôi là phải làm gì nếu bạn có tệp tạo 'Foo' hoặc' myFoo', bạn chỉ cần đặt tên tệp là 'Foo.js' hoặc' myFoo.js' tương ứng? – semicolon
Các câu hỏi trong liên kết mà bạn đã nói về cách đặt tên của các biến JavaScript, không phải về cách đặt tên tệp, vì vậy quên rằng đối với bối cảnh trong đó bạn đặt câu hỏi của bạn.
Để đặt tên tệp, đó hoàn toàn là vấn đề về sở thích và sở thích. Tôi thích đặt tên tập tin với dấu gạch ngang vì sau đó tôi không phải tiếp cận với phím shift, như tôi làm khi giao dịch với tên tập tin camelCase; và bởi vì tôi không phải lo lắng về sự khác biệt giữa tên tệp Windows và Linux (tên tệp Windows phân biệt chữ hoa chữ thường, ít nhất là thông qua XP).
Vì vậy, câu trả lời, giống như rất nhiều, là "nó phụ thuộc" hoặc "tùy thuộc vào bạn".
Quy tắc bạn nên tuân theo là nhất quán trong quy ước bạn chọn.
+1 cho lý do dấu gạch ngang so với camelCase. – cellepo
Tôi không biết về bất kỳ quy ước cụ thể nào cho tệp javascript vì chúng không thực sự độc đáo trên web so với tệp css hoặc tệp html hoặc bất kỳ loại tệp nào khác như vậy. Có một số điều "an toàn" mà bạn có thể làm khiến bạn ít có khả năng gặp phải sự cố nền tảng chéo:
various-scripts.js
, dấu gạch ngang là dấu tách an toàn và hữu ích và thường được sử dụng.Tôi thường thích dấu gạch nối có chữ thường, nhưng có một điều chưa được đề cập là đôi khi thật tuyệt khi có tên tệp khớp chính xác với tên của một mô-đun đơn hoặc chức năng có thể chứa bên trong.
Ví dụ: tôi có mô-đun tiết lộ được khai báo với var knockoutUtilityModule = function() {...}
trong tệp riêng có tên knockoutUtilityModule.js, mặc dù khách quan tôi thích knockout-utility-module.js.
Tương tự, vì tôi đang sử dụng cơ chế bó để kết hợp các tập lệnh, tôi đã thực hiện để xác định các hàm tức thời (mô hình xem theo khuôn mẫu, v.v.) trong mỗi tệp riêng của chúng, kiểu C#, để bảo trì. Ví dụ, ProductDescriptorViewModel sống riêng bên trong ProductDescriptorViewModel.js (tôi sử dụng chữ hoa trên cho các hàm tức thời).
Tôi đồng ý với những gì bạn nói. Nhưng có một điều tôi đang đấu tranh với: nếu 'plugin' chứa hai từ thì sao? Tách chúng bằng dấu chấm? jquery.myPlugin-1.0.0.js hoặc jquery.my.plugin-1.0.0.js hoặc jquery.my_plugin-1.0.0.js hoặc jquery.myplugin-1.0.0.js hoặc thậm chí là jquery.my-plugin- 1.0.0.js? Có lẽ bạn có thể hoàn thành các ví dụ của bạn với điều đó, cảm ơn! – mayrs
Còn các mô-đun [AMD] (http://en.wikipedia.org/wiki/Asynchronous_module_definition) thì sao? Nếu bạn sử dụng phiên bản trong tên tập tin, bạn phải thay đổi rất nhiều tập tin nếu số phiên bản thay đổi. – knut
@junior, đây là một bài đăng cũ, nhưng [tìm kiếm bower nhanh] (http://bower.io/search/?q=jquery-) cho thấy các plugin jquery không tuân theo bất kỳ quy ước cụ thể nào. Có vẻ như (1) đẩy các từ lại với nhau, (2) sử dụng cột sống, và (3) sử dụng camelCase đều được sử dụng với tần suất tương đương gần. – bholben