【发布时间】:2018-06-02 18:40:58
【问题描述】:
我在 NodeJS 中使用 linter 已经有一段时间了 eslint 并且已经开始在我的 C++ 中的 Arduino 库中使用 cpplint。它似乎没有掌握一些基本原理,例如缺少分号(但它确实识别出错误行上的大括号)。它似乎也没有区分用于缩进的空格和制表符或实现文件中缩进严重的代码。
来自 NodeJS 背景,cpplint 似乎遗漏了很多检查,还是我完全没有抓住重点?
【问题讨论】:
-
可能是因为您的编译器无法发现它们。
-
谢谢,我意识到了这一点,但我希望 linter 能够接受它,而不是在被发现之前必须经过编译过程。我应该假设这是使用 C++ 的痛苦的一部分吗?
-
解析 C++ 是困难。 大多数句法元素都有双重或三重职责,因此当给定一个格式不正确的程序时,试图识别你的意思是一项人工智能级别的任务