Lời nói đầu: Vâng, điều đó leo thang nhanh chóng. Nhưng quyết định kéo nó qua. Có thể câu trả lời này hữu ích cho bạn và các độc giả khác.
Gợi ý mã
Mặc dù JSLint và JSHint là những công cụ tốt để sử dụng, nhưng trong nhiều năm qua tôi đã đánh giá cao những gì bạn tôi @ugly_syntax gọi:
không gian thiết kế nhỏ hơn .
Đây là một nguyên tắc chung, giống như một "nhà sư zen", giới hạn các lựa chọn mà người ta phải đưa ra, một người có thể làm việc hiệu quả và sáng tạo hơn.
Do đó, kiểu mã JS không cấu hình yêu thích hiện tại của tôi:
Tiêu chuẩnJS .
CẬP NHẬT :
Dòng chảy đã được cải thiện rất nhiều. Với nó, bạn có thể thêm các loại vào JS của mình với sẽ giúp bạn ngăn chặn rất nhiều lỗi. Nhưng nó cũng có thể tránh xa bạn, ví dụ như khi can thiệp vào JS chưa được xử lý. Hãy thử một lần!
Bắt đầu nhanh / TL; DR
Thêm standard
như một phụ thuộc cho dự án của bạn
npm install --save standard
Sau đó package.json
, thêm tập lệnh kiểm tra sau:
"scripts": {
"test": "node_modules/.bin/standard && echo put further tests here"
},
Để có đầu ra snazzier trong khi phát triển npm install --global snazzy
và chạy nó thay vìnpm test
.
Lưu ý: Kiểm tra loại so với Heuristic
Bạn tôi khi đề cập đến không gian thiết kế đã đề cập đến Elm và tôi khuyến khích bạn hãy thử ngôn ngữ đó.
Tại sao? JS là trong thực tế lấy cảm hứng từ LISP, mà là một lớp học đặc biệt của ngôn ngữ, mà sẽ xảy ra là không định kiểu . Các ngôn ngữ như Elm hoặc Purescript là các ngôn ngữ lập trình chức năng được gõ .
Loại hạn chế quyền tự do của bạn để trình biên dịch có thể kiểm tra và hướng dẫn bạn khi bạn kết thúc vi phạm ngôn ngữ hoặc quy tắc của chương trình của riêng bạn; bất kể kích thước (LỘC) của chương trình của bạn.
Gần đây chúng tôi đã có một đồng nghiệp cơ sở thực hiện giao diện phản ứng hai lần: một lần trong Elm, một lần trong React; có một cái nhìn để có được một số ý tưởng về những gì tôi đang nói về.
So sánh Main.elm
(đánh máy) index.js
(tháo, không kiểm tra)
(ps. lưu ý rằng mã React không phải là thành ngữ và có thể được cải thiện)
Một nhận xét cuối cùng,
thực tế là JS được tháo gỡ. Tôi là ai để đề nghị gõ chương trình cho bạn?
Hãy xem, với JS, chúng ta ở trong một miền khác: được giải phóng khỏi các loại, chúng ta có thể dễ dàng thể hiện những thứ khó hoặc không thể đưa ra một loại thích hợp (chắc chắn có thể là một lợi thế).
Nhưng không có loại nào có rất ít để giữ cho các chương trình của chúng tôi được kiểm tra, vì vậy chúng tôi buộc phải giới thiệu các thử nghiệm và (với một phần mở rộng ít hơn).
Tôi khuyên bạn nên xem LISP (ví dụ ClojureScript ) để tìm cảm hứng và đầu tư vào việc thử nghiệm mã của bạn. Đọc cách của trạm biến áp để có ý tưởng.
Sự thanh bình.
Combine this with the previous 'var' statement
->Do not mix 'require' and other declarations
, nghịch lý.