2012-03-27 40 views
6

Tôi có một trang có nhiều trình xử lý sự kiện. Mã hiện đã đạt đến 1000 dòng mã và tôi bắt đầu gặp khó khăn khi đọc mã. Tôi hiện đang lập kế hoạch để tách các mã thành các tệp khác nhau. Câu hỏi của tôi là, có bất kỳ nhược điểm trong việc tách mã JS thành các tệp khác nhau không?Nhược điểm của việc tách mã JavaScript?

+4

Một điều mà đến ngay lập tức để tâm trí của tôi là một yêu cầu mạng. Tôi sẽ đề nghị để có một tập tin dev có thể đọc được hoặc nhiều tập tin nhưng một minified và hoặc gzipped tập tin cho sản xuất. – Kumar

+0

(Chỉnh sửa: Kumar đánh tôi với nó, nhưng tôi nghĩ rằng thiếu các yêu cầu đồng thời vẫn giữ.) Điều quan trọng duy nhất tôi có thể nghĩ là tải các tệp JS khác nhau có thể hơi chậm. Vì chúng có thể xung đột, chỉ một người có thể tải tại một thời điểm (mặc dù các trình duyệt có thể đã bắt đầu làm việc xung quanh điều đó - chưa kiểm tra trong vài năm qua). Mặc dù bạn luôn có thể kết hợp một số tệp với nhau trong bản dựng sản xuất. – Corbin

+0

đồng ý với Kumar - mặc dù sẽ nói rằng bạn sẽ không thấy nhiều sự khác biệt về hiệu suất trừ khi bạn có nhiều tệp hơn với nhiều mã hơn. – dbrin

Trả lời

3

disdvantages?

  • một yêu cầu HTTP khác. các nhà phát triển khuyên rằng các tệp được nén và có ít tệp nhất có thể để tối ưu hóa. ít tệp hơn bạn yêu cầu, nhanh hơn (vì có ít chuyến đi khứ hồi)

  • nếu bạn sử dụng trình chỉnh sửa văn bản có tính năng tự động hoàn thành, một số người chỉnh sửa này sẽ không tải nội dung từ tệp khác để tự động hoàn thành. điều này có thể là một vấn đề nếu bạn không ghi nhớ các chức năng mà bạn có.

  • nếu một trong các tệp phụ thuộc lẫn nhau này không tải được, ứng dụng của bạn sẽ bị hỏng.

4

Thực hành tốt nhất là tạo các tệp tương đối nhỏ cho mục đích phát triển trong đó mỗi tệp chứa một mô-đun chức năng liên quan (bất kỳ điều gì hiệu quả nhất để phát triển/sửa lỗi/chỉnh sửa/kiểm soát nguồn. Mỗi tập tin này có thể được quản lý riêng biệt (lịch sử phiên bản của riêng chúng trong hệ thống kiểm soát nguồn của bạn, kiểm tra/kiểm tra, vv ...). Việc mở nhiều tab trở nên dễ dàng hơn với các tệp riêng trong trình chỉnh sửa của bạn hơn là cố gắng sử dụng dấu trang để nhảy xung quanh giữa các vị trí khác nhau trong một tệp lớn, v.v ...

Sau đó, khi bạn triển khai ứng dụng, bạn sử dụng công cụ (như Google đóng ure hoặc YUI Compressor) để thu nhỏ và kết hợp tất cả các tệp nhỏ hơn của bạn thành một tệp triển khai. Điều này bảo tồn lợi thế phát triển của các tệp nhỏ hơn có chứa mã có liên quan trong khi vẫn giữ được lợi thế triển khai của việc có hầu hết/tất cả mã trong một tệp javascript bên ngoài lớn hơn có thể được tải xuống trong một yêu cầu http và có thể được lưu trữ rất hiệu quả.

2

Ngoài nhận xét của tôi.

Sử dụng t4 mẫu từ here, hoặc bạn có thể sử dụng C# để viết javascript bởi script#

trong các nền tảng hiện đại, các nhà phát triển không ghi javascript trực tiếp, ví dụ

  • trong Rails, sử dụng CoffeScript
  • bằng python, sử dụng một trong số (py2js, pajamas, google V8, skulpt)
  • trong C#, sử dụng tập lệnh #
1

Có mã riêng biệt trong các tệp khác nhau giúp bạn bảo trì. Tôi sẽ đề nghị bạn chia nó thành các mô-đun tương thích với CommonJS, nếu bạn đang làm việc trong môi trường trình duyệt, bạn có thể sử dụng RequireJS để tải chúng. Bạn cũng có thể sử dụng tiện ích được cung cấp để tạo một tệp khi bạn triển khai trang web/webapp của mình để tối ưu hóa các yêu cầu http.

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