jsHint-静态代码检查工具eclipse中使用
今天介绍一个关于js静态代码的检查工具,此工具可以帮助更好的规范代码的编写形式以及检查错误。由于jslint的分支jsHint有跟多的配置项相对使用也比较方便,依次本文主要介绍jsHint的使用方式。
以下为本文的目录:
1.关于jsHint的介绍
jsHint是jsLint的分支其定义了更多的配置,使用也相对灵活,jsHint主要是用来对javascript静态代码进行规范性检查的,其定义了一些比较严格的规则,这些规则同时也可以自定义配置,关于更为详细的解释说明可以【点击查看jsHint官网】,另外可【点击查看jsLint百度百科解释】,【jsLint官网】。
2.关于jsHint的安装
jsHint在eclipse中的安装主要可以通过安装eclipse的插件的方式,此时需要像安装安卓adk一样,其安装方式分为离线安装和在线安装,在线安装方式为首先打开help>install new software>add然后输入一个名称,输入插件的地址,插件在线地址可从【插件网站获取】,其图例如下。
另外离线安装方式需要先下载插件可【点击下载最新插件】,然后需要自己创造一个服务器容器例如使用tomcat或者apache容器都可以,然后将插件丢进容器中使其可访问即可,后面的步骤与上类似。
3.关于jsHint的使用
在eclipse中的安装完成后可以在window>preference中看到jsHint的配置选项,这里是eclipse的全局配置,图示如下:
当然也可以进行单个项目的特定规则配置,可以选择单个项目并右键,点击jsHint选项,其中可以配置对哪些文件进行校验:
最后点击jsHint下面的configuration配置可以设置具体的配置信息,图示如下:
部分jsHin的解释如下:
JSHint enforcing options
=================
#### * bitwise
作用:值为true时,禁止使用位操作符,如"^,|,&"等.
#### * camelcase
作用:值为true时,变量名必须使用驼峰风格(如"loginStatus")或UPPER_CASE风格(如"LOGIN_STATUS").
#### * curly
作用:值为true时,不能省略循环和条件语句后的大括号.
备注:如"if (con) ...",需要写成"if (con) { ... }".
#### * eqeqeq
作用:值为true时,禁止使用"=="和"!=",而应该使用"==="和"!==".
#### * es3
作用:值为true时,表示你的代码需要遵守ECMAScript 3规范.
#### * forin
作用:值为true时,在所有"for in"循环中,必须使用hasOwnPropery过滤掉对象继承来的成员.
#### * immed
作用:???.
#### * indent
作用:该选项要求你的代码必须使用指定的tab缩进宽度,如"indent:4".
#### * latedef
作用:值为true时,禁止在变量定义之前使用它.
#### * newcap
作用:值为true时,构造函数名需要大写.
备注:经测试,该选项是否激活,JSHint都不会检查构造函数名.
#### * noarg
作用:值为true时,禁止使用arguments.caller与arguments.callee.
#### * noempty
作用:值为true时,不允许代码中出现空的语句块("{}").
#### * nonew
作用:值为true时,禁止使用产生副作用的构造器调用方式,如"new MyConstructor();".
#### * plusplus
作用:值为true时,禁止使用一元递增("++")和递减("--")运算符.
#### * quotmark
作用:该选项用于统一代码中的引号风格,可选的值有三个:
(1) single -- 只能使用单引号;
(2) double -- 只能使用双引号;
(3) true -- 两者任选其一,但不能同时出现.
#### * undef
作用:值为true时,禁止使用未定义的变量.
#### * unused
作用:该选项激活后,对于"已定义却未使用的变量"会给出警告,可选的值有三个:
(1) vars -- 只检查变量,不检查函数形参;
(2) strict -- 检查变量和函数形参;
(3) true -- 检查变量和函数形参,但允许这种情况:一个未使用的形参后紧随一个被使用的形参.
示例:strict与true的区别
(1) strict
function show(x,y) {alert(y);} // jshint校验结果:'x' is defined but never used
show(1);
(2) true
function show(x,y) {alert(y);} // jshint校验结果:pass
show(1);
#### * strict
作用:值为true时,该选项会要求所有函数在ECMAScript 5的严格模式中运行.
备注:该选项激活后,仅在函数作用域中启用严格模式(如果在全局作用域中启用,可能会影响页面中的第三方JS). #### * trailing 作用:值为true时,禁止在代码的末尾出现空白.
#### * maxparams 作用:该选项用于设置每个函数形参数量的上限,如"maxparams:3".
#### * maxdepth 作用:该选项用于设置每个函数中代码块嵌套层级的上限,如"maxdepth:1".
示例:/* jshint maxdepth:1 */
function show() {
if (1) {
if (2) { // jshint校验结果:Blocks are nested too deeply. (2)
alert('the second nested');
}
}
}
#### * maxstatements 作用:该选项用于设置每个函数中语句数量的上限,如"maxstatements:4".
备注:函数声明被看作一个语句.
示例:/* jshint maxstatements:4 */
function main() { // jshint校验结果:This function has too many statements. (5)
var i = 0;
var j = 0; // 函数声明被看作一个语句
function inner() {
var i2 = 1;
var j2 = 1;
return i2 + j2;
} j = i + j;
return j;
} #### * maxcomplexity 作用:???
#### * maxlen 作用:该选项用于设定每行的最大字符长度.
以上配置解释来自github【jsHint 配置项说明(汉化版)】。 更详细可参考官网【点击进入官网】。
4.关于jsHint的下载
同样此处提供作者百度分享链接:
jsHint插件下载【点击下载】。
http://www.startexample.com/2014/05/11/jshint-%E9%9D%99%E6%80%81%E4%BB%A3%E7%A0%81%E6%A3%80%E6%9F%A5%E5%B7%A5%E5%85%B7eclipse%E4%B8%AD%E4%BD%BF%E7%94%A8/
jsHint-静态代码检查工具eclipse中使用的更多相关文章
- 静态代码检查工具 cppcheck 的使用
CppCheck是一个C/C++代码缺陷静态检查工具.不同于C/C++编译器及其它分析工具,CppCheck只检查编译器检查不出来的bug,不检查语法错误.所谓静态代码检查就是使用一个工具检查我们 ...
- 静态代码检查工具 cppcheck 的使用(可分别集成到VS和QT Creator里)
CppCheck是一个C/C++代码缺陷静态检查工具.不同于C/C++编译器及其它分析工具,CppCheck只检查编译器检查不出来的bug,不检查语法错误.所谓静态代码检查就是使用一个工具检查我们写的 ...
- C#静态代码检查工具StyleCode
C#静态代码检查工具StyleCode -- 初探 最近我们Advent Data Service (ADS) 在项目上需要按照代码规范进行代码的编写工作,以方便将来代码的阅读与维护. 但是人工检查起 ...
- Python静态代码检查工具Flake8
简介 Flake8 是由Python官方发布的一款辅助检测Python代码是否规范的工具,相对于目前热度比较高的Pylint来说,Flake8检查规则灵活,支持集成额外插件,扩展性强.Flake8是对 ...
- PC-lint 简明教程(C/C++静态代码检查工具)
前言 PC-lint是一款小而强大的C/C++静态代码检查工具,它可以检查未初始化变量,数组越界,空指针等编译器很难发现的潜在错误.在很多专业的软件公司如Microsoft,PC-Lint检查无错误无 ...
- 基于Source Insight_Scan的C/C++静态代码检查工具安装说明
基于Source Insight_Scan的C/C++静态代码检查工具安装说明 本文链接:https://blog.csdn.net/M19930517/article/details/79977 ...
- [原创]Java静态代码检查工具介绍
[原创]Java静态代码检查工具介绍 一 什么是静态代码检查? 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数 ...
- 静态代码检查工具-PMD初学者入门篇
前言: PMD是一款静态代码分析工具,它能够自动检测各种潜在缺陷以及不安全或未优化的代码. PMD更多地是集中在预先检测缺陷上,它提供了高度可配置的丰富规则集,用户可以方便配置对待特定项目使用那些规则 ...
- 静态代码检查工具-PMD刚開始学习的人入门篇
前言: PMD是一款静态代码分析工具.它能够自己主动检測各种潜在缺陷以及不安全或未优化的代码. PMD很多其它地是集中在预先检測缺陷上.它提供了高度可配置的丰富规则集,用户能够方便配置对待特定项目使用 ...
随机推荐
- jvm虚拟机androidy移植-编译篇
有这个必要吗?都过时的东西了,android上的Dalvik效率不够高吗,不够逼格吗? 是的但有总东西是不是我们这些码农能决定的,领导和项目需求才是你要关心的,毕竟工作要向领导汇报,项目要去挣钱钱,但 ...
- 永恒之蓝(EternalBlue)MS17-010
附加知识: 漏洞来源与背景: 这个漏洞最初是由NSA(美国国家安全局)发现的,但是他们发现漏洞他不讲,然后遭殃了吧. 后来 有一个黑客组织叫:Shadow Brokers (影子经纪人) 入侵了NSA ...
- Linux 错误集锦
1. CentOS 7 运行yum时出现/var/run/yum.pid已被锁定,PID为xxxx的另一个程序正在运行的问题解决 解决办法: rm -f /var/run/yum.pid,删除文件后再 ...
- 原生js实现一个侧滑删除取消组件(item slide)
组件,本质上是解决某个问题封装的类,在此记录原生js实现侧滑删除 先上效果图 实现思路 1. 确定渲染的数据结构 2. 思考划分布局,总的有两个主要的模块:内容区域和按钮区域 2.1 内容区域保持宽度 ...
- poj2449(k短路&A_star模板)
题目链接:http://poj.org/problem?id=2449 题意:给出一个有向图,求s到t的第k短路: 思路:k短路模板题,可以用A_star模板过: 单源点最短路径+高级搜索A*;A*算 ...
- css正方形盒子 自适应
<!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- IT兄弟连 Java语法教程 变量2
变量的作用域和生命周期 到目前为止,使用的所有变量都是在main()方法开始时声明的,然而,Java允许在任何代码块(代码块以开花括号开始,以闭花括号结束)中声明变量,代码块定义了作用域.因此,每当开 ...
- Java:创建线程
Java定义了两种创建线程的方法: 1.实现Runnable接口 要实现Runnable接口,只需简单地实现run()方法即可,声明如下:public void run() 在run()方法中,可以定 ...
- C 语言实例 - 阶乘
C 语言实例 - 阶乘 一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1.自然数n的阶乘写作n!. n!=×××...×n.阶乘亦可以递归方式定义:!=, ...
- JDK动态代理 Proxy InvocationHandler