序:まあ、それは急速にエスカレートしました。しかし、それを完全に引き継ぐことにしました。この回答があなたや他の読者の役に立つと思います。
コードヒント
JSLintとJSHintは優れたツールですが、長年にわたって、友人の@ugly_syntaxが呼ぶものに感謝するようになりました。
小さなデザインスペース。
これは「禅僧」によく似た一般原則であり、自分がしなければならない選択を制限し、生産性と創造性を高めることができます。
したがって、私のお気に入りのゼロ構成JSコードスタイル:
StandardJS。
更新:
フローが大幅に改善されました。それを使用すると、JSにタイプを追加でき、多くのバグを防ぐのに役立ちます。ただし、たとえば、型指定されていないJSとインターフェースする場合など、邪魔にならないようにすることもできます。試してみる!
クイックスタート/ TL; DR
standard
プロジェクトに依存関係として追加する
npm install --save standard
次にpackage.json
、次のテストスクリプトを追加します。
"scripts": {
"test": "node_modules/.bin/standard && echo put further tests here"
},
開発中の出力をすっきりさせ、のnpm install --global snazzy
代わりに実行しますnpm test
。
注:型チェックとヒューリスティック
私の友人がエルムに言及したデザインスペースに言及するとき、私はその言語を試してみることをお勧めします。
どうして?JSは実際には、たまたま型付けされていない特殊な言語クラスであるLISPに触発されています。ElmやPurescriptなどの言語は、型付き関数型プログラミング言語です。
言語を制限したり、独自のプログラムの規則に違反したりした場合にコンパイラーがチェックおよびガイドできるように、タイプを制限します。プログラムのサイズ(LOC)に関係なく。
最近、後輩に反応型インターフェースを2回実装してもらいました。1回はElmで、1回はReactで、私が何を話しているのかを理解するために見てください。
比較Main.elm
(型付き)⇔ index.js
(型なし、テストなし)
(ps。Reactコードは慣用的ではなく、改善できる可能性があることに注意してください)
最後に、
実際には、JS は型付けされていません。型付きプログラミングをあなたに提案するのは誰ですか?
JSを使用すると、別のドメインにいることになります。型から解放されるため、適切な型を与えることが困難または不可能であるものを簡単に表現できます(これは確かに利点になります)。
しかし、型がなければ、プログラムをチェックする必要はほとんどありません。そのため、テストと(より短い範囲で)コードスタイルを導入せざるを得ません。
LISP(ClojureScriptなど)を参考にしてコードをテストすることをお勧めします。アイデアを得るためにサブスタックの方法を読んでください。
平和。
Combine this with the previous 'var' statement
->Do not mix 'require' and other declarations
、パラドックス。