2009-09-27 32 views
12

Câu hỏi là khá tự giải thích.Tiện ích để tự động chèn dấu chấm phẩy trong mã nguồn javascript?

Tôi đang làm việc với mã từ nhiều nhà phát triển. Một số người không nhất quán trong việc sử dụng dấu chấm phẩy, và tôi chỉ muốn họ sau mỗi dòng cho sự nhất quán (và để ngăn chặn bất kỳ mặt nạ của các lỗi).

Tôi sử dụng Aptana để định dạng mã nguồn của mình, nhưng nó sẽ không thêm dấu chấm phẩy cho bạn AFAIK.

Cảm ơn.

+0

Bạn đã tìm được cách chưa? Bạn đã làm gì? – Sathvik

Trả lời

8

Ah ... vừa phát hiện ra máy nén YUI có tùy chọn dấu chấm phẩy bảo tồn sẽ thực sự thêm các dấu chấm phẩy vào các dòng thích hợp. Sau đó, nó chỉ là một vấn đề của việc gửi các phiên bản rút gọn, unmunged trở lại thông qua các định dạng aptana.

Nếu ai đó đưa ra giải pháp đơn giản hơn, vui lòng đăng.

+1

Thật không may, tôi bị mất các ý kiến, mà tôi có thể bảo vệ đến một mức độ nhất định hoặc thêm một lần nữa nhưng sau đó tôi đang tạo ra nhiều công việc hơn. –

+0

Tôi sẽ kiểm tra nguồn máy nén YUI và xem có cách nào không. –

5

Tôi khuyên bạn nên khuyến khích các nhà phát triển của bạn sử dụng JSLint để cải thiện chất lượng tổng thể của mã của bạn.

Công cụ này sẽ tìm các sự cố trong mã của bạn dựa trên bộ quy tắc và tất nhiên, công cụ sẽ phát hiện missing semicolons.

Và vì bạn đang sử dụng Aptana, khá dễ cài đặt JSLint Eclipse Plugin.

+5

Điều này không trả lời được câu hỏi của tôi. Tôi đã biết về jslint và plugin. Câu hỏi liên quan đến một cách để tự động chèn dấu chấm phẩy. –

-3

Tôi nghĩ một câu hỏi rất quan trọng ở đây là "tại sao?". Nghiêm túc, nếu nó không gây ra bất kỳ vấn đề (mà nó không), sau đó những người quan tâm? Có, tôi đồng ý rằng dấu chấm phẩy trong Javascript nên được yêu cầu, nhưng chúng không, vì vậy nó sẽ không gây ra bất kỳ lỗi nào. Nếu bạn cảm thấy mạnh mẽ về điều này (như tôi cũng vậy), giáo dục các nhà phát triển đồng nghiệp của bạn về lý do tại sao họ nên quan tâm và giải quyết vấn đề, thay vì sử dụng một tập lệnh hacky để thay đổi mã của họ.

+3

Thiếu dấu chấm phẩy JavaScript không thể kiểm tra đơn vị chính xác và không thể rút gọn. Các nhà phát triển không hiểu tại sao điều quan trọng là thêm dấu chấm phẩy sẽ không có khả năng hiểu được ý nghĩa của mã sửa lỗi theo cách thủ công, đó là lý do để sử dụng tập lệnh hacky cho mã lỗi trước. Tôi đồng ý rằng giáo dục các nhà phát triển để viết mã đúng cách là quan trọng, nhưng điều đó không khắc phục các hành vi xấu trước đó. –

+1

tôi hoàn toàn đồng ý với những lý do để sử dụng đúng dấu chấm phẩy, và tin tưởng tôi, tôi sẽ tìm cách can thiệp nếu đồng nghiệp của tôi có cùng thói quen xấu khi bỏ chúng. Tôi chỉ không nghĩ rằng nó là một ý tưởng tốt để cho họ tiếp tục viết mã sloppy và để cho một chương trình sửa chữa nó cho họ. Tùy thuộc vào bao nhiêu mã hiện có, thì tôi cho rằng bạn có thể yêu cầu một cách tự động để giải quyết nó, nhưng nó không phải là một giải pháp lâu dài: đó là mấu chốt của lập luận của tôi. – nickf

+1

Tôi hoàn toàn đồng ý rằng chèn dấu chấm phẩy tự động là một ý tưởng cực kỳ tồi tệ như một thực hành tiêu chuẩn. Tôi thậm chí sẽ đi xa như vậy để nói rằng các nhà phát triển không được đào tạo chính thức hoặc thông thạo cá nhân bằng văn bản JavaScript không được cung cấp cơ hội để viết JavaScript không giám sát. Trừ khi các điều khiển tốt hơn được thực hiện chỉ là vấn đề thời gian trước khi kịch bản lệnh phía khách hàng giết chết tất cả khả năng của web làm nền tảng để tạo doanh thu kinh doanh do sự thỏa hiệp bảo mật, va chạm và các vấn đề về khả năng tương tác từ việc sử dụng sai khác nhau trong cùng một ngôn ngữ. –

0

Tôi là nhà phát triển Flash và tôi tình cờ gặp vấn đề này trong khi chạy tìm kiếm của Google. Đối với đồng nghiệp AS (một người anh em họ JS), nếu bạn đang sử dụng Adobe Flash Professional (tôi đang sử dụng CS5), khi bạn đang chỉnh sửa tệp tác vụ, hãy nhấp vào "Công cụ" và "Tự động định dạng". Chương trình sẽ chăm sóc phần còn lại.

(Một lần nữa, câu trả lời này là dành cho các nhà phát triển ActionScript, vì đây là một vấn đề phổ biến đối với chúng tôi cũng Xin đừng downvote cho sự không thích hợp để JS..)

5

tôi sử dụng định dạng trực tuyến này: http://jsutility.pjoneil.net/ (đi vào tab Định dạng, dán mã của bạn và nhấp vào: "định dạng câu lệnh Javascript").

Như bạn có thể thấy, có một tùy chọn để quyền: "thay thế dấu chấm phẩy mất tích"

Đôi khi, định dạng mà máy sẽ báo "quá nhiều lỗi" và sẽ không làm gì cả. Nếu đúng như vậy, hãy nén mã của bạn bằng tiện ích này: http://refresh-sf.com/yui/ (cũng sẽ thêm dấu chấm phẩy) và sau đó, bạn có thể quay lại trình định dạng để giải nén nó.

6

Tôi đã tìm thấy Trình đóng cửa-Linter của Google, có vẻ như là phiên bản JSLint của Google, hoạt động tốt cực kỳ.

https://developers.google.com/closure/utilities/docs/linter_howto

Trang web trên không chỉ giải thích làm thế nào để cài đặt nó trên máy tính của bạn, nhưng ở phía dưới nó giải thích làm thế nào để chạy fixjsstyle mà thêm hầu hết các dấu chấm phẩy mất tích cũng như một số những điều nhỏ nhặt khác.

+2

fixjsstyle hoạt động hoàn hảo, phải là câu trả lời được chấp nhận IMHO. –

+1

Hoạt động tuyệt vời và thậm chí còn dễ dàng hơn trên Mac OS X so với trang web đề xuất: 'brew install closure-linter' – chbrown

2

Tôi sử dụng fixmyjs. Nó có sẵn như là một CLI và như là một plugin cho một số biên tập viên.

Tự động sửa một số lỗi JavaScript theo cách không phá hủy. Việc sửa chữa dấu chấm phẩy là một trong những sửa chữa tự động có sẵn.

0

JSCS là một công cụ linting có tùy chọn sửa lỗi để tự động khắc phục các vấn đề linting bao gồm dấu chấm phẩy bị thiếu.

enter image description here

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