文档章节

atom中使用JSHint

我是偶哦
 我是偶哦
发布于 2016/06/28 20:13
字数 772
阅读 1123
收藏 2

程序是写给人读的,只是偶尔让计算机执行一下。

在开发的过程中代码的编程风格是一个非常特别问题,大家都知道一个好的编程风格对阅读程序的重要性,但是代码的编程风格是没有个固定的标准,很难说哪种编程风格好哪种不好,但是它们之间有些通用的准则。

在JavaScript中有两个比较常用的代码检查工具JSLint和JSHint,JSLint的可配置性比较差,很多选项是无法修改的,所以出现了JSLint的分支项目JSHint,JSHint几乎可以配置所有的编程风格检查。

如果你比较认可JSLint的编程风格可以直接使用,如果有些不太符合你的习惯,那么可以使用JSHint自定义自己的编程风格。这里就介绍如何在Atom中使用JSHint,先上效果图:

效果图

安装步骤:

方法一:

  1. 安装atom编辑器,
  2. apm install linter
  3. apm install linter-jshint

方法二:

  1. 安装atom编辑器
  2. 安装node js,别忘了配置环境变量
  3. 从github上下载linter的源码,解压后放到~/.atom/package中,在windows中~代表C:/Users/用户名
  4. 打开命令行进入到
  cd ~/.atom/package/linter
  npm install
  1. 从github中下载linter-jshint,同样解压到~/.atom/package中,然后npm install

别忘了重启atom编辑器,接下来就是配置JSHint,我们可以在建一个文件~/.jshintrc,作为全局配置,我们也可以在某个具体项目设置不同规则,放在项目根目录下。 下面是个demo,参考修改,如果想知道更多的配置选项,下面有链接。

{
    /*禁用位运算符,位运算符在JavaScript中使用较少,经常是把&&错输成&*/
    "bitwise": true,
    /*循环或者条件语句必须使用花括号包围*/
    "curly": true,
    /*强制使用三等号*/
    "eqeqeq": true,
    /*使用ES3标准, 主要为了兼容IE 6/7/8/9*/
    "es3": true,
    /*使用ES5标准*/
    "es5":true,
    /*上面两个 es3 和 es5 已过时,接下来的版本不再支持,
    使用以下三个标签代替,*/
    /*ECMAScript 3 的规范,保证兼容老的浏览器*/
    "esversion":3,
    /*ECMAScript 5.1 的规范*/
    "esversion":5,
     /*ECMAScript 6 的规范,注意浏览器支不支持ES6*/
    "esversion":6,
    /*禁止重写原生对象的原型,比如 Array , Date*/
    "freeze": true,
    /*代码缩进*/
    "indent": true,
    /*禁止定义之前使用变量,忽略 function 函数声明*/
    "latedef": "nofunc",
    /*构造器函数首字母大写*/
    "newcap": true,
    /*
     * 禁止使用 arguments.caller 和 arguments.callee ,
     * 未来会被弃用, ECMAScript 5 禁止使用 arguments.callee
     */
    "noarg": true,
    /*严格模式*/
    "strict": true,
    /*最大参数*/
    "maxparams": 4,
    /*最大嵌套*/
    "maxdepth": 4,
    /*复杂度检测*/
    "maxcomplexity": true,
    /*禁止单引号和双引号混用*/
    "quotmark": false,
    /*变量必须定义*/
    "undef": true,
    /*变量必须使用*/
    "unused": true,
    /*预定义全局变量 document , navigator , FileReader 等*/
    "browser": true,
    /*定义用于调试的全局变量: console , alert*/
    "devel": true,
    /*jQuery全局变量*/
    "jquery": true,
    /*node全局变量*/
    "node": true
}

参考链接:

  1. linter github地址
  2. linter-jshint github地址
  3. jshintrc配置选项

© 著作权归作者所有

共有 人打赏支持
我是偶哦
粉丝 5
博文 32
码字总数 21607
作品 0
深圳
《编写可维护的 JavaScript》读书笔记第15章:校验

查找文件 使用 fileset 元素包含和排除文件或目录,可以包含 Ant 通配符。例如: <fileset dir="./src" includes="**/.js"/> <fileset dir="./src" includes="/.js" excludes="/*-test.js"/......

张前程
2014/01/05
0
0
在Brackets中使用jsHint遇到的问题

在Brackets安装使用jsHint,但发现jsHint不生效,仅有Brackets自带的jsLint生效。 此时可通过修改配置文件解决,首先确定已经安装了jsHint,在右边栏点击 Extension Manager图标,搜索jsHin...

Mr小Z
2015/11/09
0
0
NodeJS:Error: Cannot find module 'jshint/src/cli'

以前命令:npm install gulp-jshint --save-dev 实质上是安装jshint失败,缺少该模块。 更换命令 :npm install --save-dev jshint gulp-jshint 参考:http://stackoverflow.com/questions/......

easonjim
2016/12/21
0
0
Sublime Text Plugins — Web Fundamentals

The minute you start developing a site, the first tool you’ll use is a text editor, whether it’s as simple as notepad or a full blown IDE. In this episode Addy & Matt look at......

cyper
2015/08/28
0
3
nodejs+sublime+sublimelinter+jshint+javascript代码检查

sublime 安装jslint代码检查插进步骤: 1、安装nodejs。下载地址:http://nodejs.org/download/ 2、在控制台安装jshint:$ npm install jshint -g 3、在sublime安装sublimelinter 4、在subli...

漂泊者及其影子
2015/05/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Dubbo分析之Transport层

前言 上一篇文章Dubbo分析之Serialize层,介绍了最底层的序列化/反序列化层,本文继续分析Serialize层的上一层transport网络传输层,此层使用了现有的一些通讯开源框架(ex:netty,mina,grizzl...

ksfzhaohui
28分钟前
2
0
通告!Android 9 Pie未适配应用公示

8月7日,谷歌正式发布Android 9 Pie,至今已两月有余。近日,华为终端开放实验室对国内主流应用在Android 9 Pie的兼容性进行测试,结果显示:目前TOP3000应用兼容率已经超过95%,但仍有少量应...

安卓绿色联盟
30分钟前
1
0
Linux下多网卡绑定模式详解

在我们日常Linux使用中,一般对于生产网都会使用双网卡或多网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可谓好处多多。而一般我们都会使用Linux操作系统下自带的网卡绑定模式。这...

openthings
32分钟前
3
0
SylixOS中AARCH64跳转表实现原理

1. 跳转表存在的意义 1.1 内核模块反汇编 如下的程序清单,为一个内核模块的源码。 #define __SYLIXOS_KERNEL#include <SylixOS.h>#include <module.h> /* * SylixOS call module_i......

zhywxyy
33分钟前
2
0
聊一聊 Spring 中的线程安全性

本文摘自ImportNew公众号,摘录做学习资料,向大家推荐该公众号 Spring与线程安全 Spring作为一个IOC/DI容器,帮助我们管理了许许多多的“bean”。但其实,Spring并没有保证这些对象的线程安...

木子SMZ
34分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部