前言:嗯,事态迅速升级。但我决定挺过去。希望这个答案对你和其他读者有所帮助。
代码提示
虽然JSLint和JSHint是很好的工具,但多年来,我开始欣赏我的朋友@ugly_syntax调用:
较小的设计空间。
这是一个普遍的原则,就像一个“禅僧”,限制一个人必须做出的选择,一个人可以更有成效和创造性。
因此,我目前最喜欢的零配置JS代码风格:
StandardJS。
更新:
流动有了很大的改善。有了它,你
可以添加类型到你的JS与将帮助你防止很多
的病菌。但它也可以不碍事,比如
在接口非类型化JS时。试试吧!
快速入门/ TL
将标准作为依赖项添加到项目中
npm install --save standard
然后是包装。Json,添加以下测试脚本:
"scripts": {
"test": "node_modules/.bin/standard && echo put further tests here"
},
在开发过程中,如果想要更时髦的输出,请运行npm install——global snzy,而不是运行npm test。
注意:类型检查与启发式
我的朋友在提到设计空间时提到了Elm,我鼓励你尝试一下这种语言。
为什么?JS实际上是受到LISP的启发,LISP是一种特殊的语言,恰好是非类型化的。Elm或Purescript等语言是类型函数式编程语言。
输入限制你的自由,以便编译器能够检查和指导你,当你最终违反语言或你自己的程序的规则;不管程序的大小(LOC)如何。
最近,我们有一位初级同事实现了两次响应式接口:一次在Elm中,一次在React中;来看看我在说什么吧。
主要进行比较。Elm(有型)⇔index.js(无型,无测验)
(注:React代码不是惯用的,可以改进)
最后一点,
事实上JS是无类型的。我凭什么向你推荐类型化编程?
看,有了JS,我们处在一个不同的领域:从类型中解放出来,我们可以轻松地表达那些很难或不可能给出正确类型的东西(这当然是一个优势)。
但是如果没有类型,我们的程序就无法得到控制,所以我们不得不引入测试和(在较小范围内)代码样式。
我建议你从LISP(例如ClojureScript)中寻找灵感,并投资于测试你的代码。阅读子堆栈的方式,以获得一个想法。
和平。