问题标签 [lint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
478 浏览

c - 为什么 Splint(C 代码检查器)在将浮点数与 int 进行比较时会出错?

两者都是数学值,但是浮点数确实具有更高的精度。这是错误的唯一原因 - 精度差异吗?还是有另一个潜在的(更严重的)问题?

0 投票
11 回答
842 浏览

c - 有什么工具可以捕捉 C 代码中的愚蠢错误?

我有一个讨厌的错字,浪费了我和我同事的时间,它是这样的:

首先,这很尴尬,第二件事,我不应该重复这件事。我对 C 比较陌生。在 Java 中,我想我可以使用FindBugs来捕获此类错误,我应该使用什么工具来处理 C 代码?皮棉?

0 投票
6 回答
3635 浏览

flash - 动作脚本的皮棉工具?

是否有可用于 actionscript 的 lint 工具?一个来源是理想的,但任何东西都是受欢迎的。

我的团队开始采用更严格的样式指南(其中“更严格”意味着“存在”),我认为 linter 将帮助我们所有人更容易地遵守我们已经同意的样式规则。我不会写我自己的,但我想先看看还有什么。

在 Google 上快速搜索一无所获(至少到目前为止)。

0 投票
6 回答
40507 浏览

javascript - VIM + JSLint?

我在 vim 中度过了我的日子,目前正在编写大量 JavaScript。我一直在尝试找到一种方法将 JSLint 或类似的东西集成到 vim 中以改进我的编码。有没有人设法做这样的事情?

编辑:

试过这个:Javascript Syntax Checking From Vim,不幸的是输出非常粗糙。

0 投票
6 回答
2893 浏览

syntax - crontab 是否有类似 lint 的程序?

crontab 有类似 lint 的东西吗?我想知道我已经整理好我所有的空间和星星,而无需等待某些东西不起作用。

0 投票
4 回答
758 浏览

java - Java泄漏抽象检查器

我正在考虑编写一个程序来检查 Java 中的“泄漏抽象”的想法。立即想到的一个领域是例外:

请注意,我不希望对已检查/未检查异常的相对优点进行争论。我正在寻找的是人们拥有的其他示例(不一定是异常处理),这些示例也可以通过检查源代码或类文件来合理地捕获。

我知道 checkstyle、findbugs 和 PMD,而 AFAIK 都没有处理这个问题(我不反对将检查放入其中一个工具中,而不是自己编写)。

您是否想到了其他可以静态检查的泄漏抽象示例?

编辑:

第二个不好的原因是该方法抛出了一个异常,客户端无法知道正在使用 JDBC(例如,它可能是任何东西)。因此,“泄漏抽象”是正在使用 JDBC。如果底层机制更改为其他东西(例如 JPA,它是一个不同的数据库抽象库),那么异常也都需要更改。所以底层数据库库被泄露了。

0 投票
5 回答
10497 浏览

javascript - JSLint (CLI):选项?

我正在从 Ubuntu 命令行运行JSLintRhino 版本,如下所示:

虽然 Web 界面提供了各种选项,但我不知道如何通过命令行调用这些选项。我是否忽略了文档中的任何内容?

0 投票
9 回答
53117 浏览

javascript - JSLint:控制注释(选择性忽略)

JSLint是否有类似 JavaScript Lint 的控制注释(例如/*jsl:fallthru*/)以使其忽略某些段落?

0 投票
3 回答
2817 浏览

xslt - 有没有 XSL Lint 工具?

我正在寻找一个积极维护的 XSL lint 工具。我唯一能找到的是这个,但最后一次更新是在 2000 年(9 岁!)。任何帮助都会很棒!

0 投票
4 回答
3227 浏览

c - 如何让夹板忽略我声明变量的位置?

你知道我怎样才能让夹板忽略我声明变量的地方吗?

我知道老派 c 告诉你在每个函数的开头声明变量,但由于我是一个坏人,我喜欢在我使用它们的地方声明东西。一个很好的例子是把 int i; 就在 for(i=0;...) 之前。

我们举一个非常简单的例子

这里夹板和大多数旧的 c 编译器都想移动 int i; 向上一行,或将 {} 放在声明和 for 循环周围。

现在的问题是,我如何关闭此检查?但是保持其他检查好?

谢谢约翰


注意 1:我已经使用 gcc 警告(见下文)作为第一道防线,而 valgrind 作为第二道防线。但是我正在考虑将夹板添加到可以控制我的愚蠢的事物列表中;-) 但是这个检查很烦人,

我使用的 gcc 警告: -Wall -W -Wextra -Wconversion -Wshadow -Wcast-qual -Wwrite-strings -Werror

注意 2:我知道这种不良行为可能带来的潜在可移植性问题。但我觉得它增加了可读性,也就是不需要上下跳跃来搜索这种类型的 off 声明更有价值(我们可以在另一个线程中讨论这个)。


更新:更多信息,我将上面的代码放在一个名为 main.c 的文件中。使用的平台是 Ubuntu 8.04 和 gvim 作为编辑器,这是我运行时 splint 的输出:

这又提出了两个我以前没有考虑过的问题。

  1. “与当前值冗余”,当前值是多少?

  2. 为什么它是解析错误而不是警告?


更新::有可能修补夹板来支持这个问题,我还没有尝试过,但我认为这是解决方案。