标签: code-inspection

IntelliJ检查说node.js不存在module.exports

IntelliJ发出警告

未在模块类型中定义属性导出

module.exports=在项目中任何地方使用的任何地方。

intellij-idea bcrypt code-inspection node.js requirejs

7
推荐指数
1
解决办法
1612
查看次数

PyCharm社区2017.2中未定义变量没有警告

我在PyCharm Community Edition 2017.2中打开的Python模块中有这段代码。

class Sample(object):
    def __init__(self):
        self.prop1 = 5
        self.prop2 = 10

    def method1(self):
        return foo

    def do_work(self):
        not_defined_func()


s = Sample()
s.method1()

bar = call_func
Run Code Online (Sandbox Code Playgroud)

对于某些相当严重的问题,IDE不会发出任何警告:

  1. 返回的变量foo尚未定义。
  2. 我将未定义的变量分配给call_func变量bar
  3. not_defined_func在方法内部调用了未定义的函数do_work

如何启用PyCharm突出显示这些内容?我重新安装了PyCharm,并在中Inspections启用了所有功能File > Settings > Editor > Inspections > Python

python ide syntax code-inspection pycharm

7
推荐指数
1
解决办法
595
查看次数

如何将TODO处理集成到maven测试阶段?

假设我有一个包含大量待办事项的项目,一些无意中留在那里,一些不再相关,一些代表未来可能的功能等.

我知道大多数IDE可以显示/过滤/排序它们,但我正在寻找一种方法来实施更严格的策略.

我正在寻找的是一些maven插件,我可以绑定到测试阶段,寻找特定格式的TODO(例如// TODO-Ver ...),如果找到,会产生测试失败(这会然后通过哈德森可见,电子邮件将被发送,警报将关闭,头将滚动等).

这个额外的执行将绑定到某个配置文件下的测试阶段,该配置文件只会在开发周期结束时激活或者某些事情.

我的问题是,之前有人做过这样的事吗?可以通过regexp定制哪些代码检查工具来查找TODO,以及可以使用什么maven插件来运行所述检查工具?可以通过单元测试吗?任何意见/想法/建议都会受到欢迎.

java maven-2 code-inspection todo

6
推荐指数
1
解决办法
710
查看次数

使用[Obsolete]属性指示开发人员不要使用API​​的一部分是一个好习惯

最近我写了一些可序列化的对象,它也处理特定的逻辑并具有特定的生命周期.为了使其正常工作,必须使用适当的构造函数对其进行实例化,该构造函数采用强制参数.但是,为了序列化,我还必须添加一个公共默认构造函数.

该对象将由我们的API公开提供,第三方开发人员应该能够实例化和使用它.虽然有关于如何正确操作该对象的适当文档,但不能保证有人会试图使用不正确的构造函数 - 然后就会遇到麻烦.

我正在寻找一种巧妙的方法来应用一些指导,而第三方开发人员正在编写他们的代码.该Obsolete属性出现在我的脑海中 - 我可以使用适当的注释作为消息来注释序列化构造函数.然后,该消息将出现在输出警告中,并将开发人员指向正确的代码行.此外,Visual Studio和使用的任何代码检查附加组件都会适当地突出显示构造函数的用法.

在这种方法中困扰我的是,Obsolete属性的目的是完全不同的.它的语义是装饰项目已弃用,可能会在其他版本中删除.在序列化构造函数场景中,这是错误的,并且此属性的用法和含义之间存在差异.更不用说在某些开发部门可能启用的"将警告视为错误"选项......

所以,问题是 - 对于这种属性的使用,这是一种可接受的做法吗?是否有任何其他合法和通用的方法来实现相同的效果(通过我的意思是不依赖于第三方代码检查附加组件等 - 我不控制谁使用代码和他们的设置是什么)?


关于下面答案中的注释(对我来说仍然有用),我必须澄清我在可继承类上使用受保护的默认构造函数.构造函数用于支持XML序列化,但不应用于在业务逻辑中初始化类.继承类应该调用一些其他的基础构造函数,编写继承类的开发人员需要知道这一点.但是,如果需要,从此代码派生的开发人员还必须能够为其继承的类启用XML序列化.

.net obsolete code-inspection

6
推荐指数
1
解决办法
234
查看次数

如何抑制PyCharm中的语法检查?

我正在使用PyCharm 3.4.1,我在我的函数中有这段代码:

cursor.execute('SELECT distinct "name_{0}", code, sort_order FROM {1}'.format(get_language(), ProgrammeLevel._meta.db_table))
Run Code Online (Sandbox Code Playgroud)

PyCharm正确地识别出该字符串包含SQL代码,但是代码语法检查告诉我我有语法错误,因为FROM {1}它说:<comma join expression> expected, got '{'这是一个有效点,但我知道我在做什么.

对于大多数(如果不是全部)PyCharm检查,我可以# noinspection在正确的位置写评论并关闭一些代码.我这样做了,关闭PyProtectedMember我刚刚给出的代码片段的检查.如何关闭此行代码的语法检查?给noinspection评论的检查名称是什么?

code-inspection pycharm

6
推荐指数
1
解决办法
1749
查看次数

在非Java IntelliJ IDEA项目上检查代码

我正在使用IntelliJ IDEA构建一个非Java项目,它只是一个PHP + Javascript项目,一切正常,但是当我尝试检查项目中的所有代码时(分析->检查代码),我得到了一个错误:

没有为该项目正确配置JDK。无法进行检查。

难道我做错了什么?即使项目不是Java,我也必须配置SDK吗?

注意:在编辑器中打开的对工作文件的自动代码检查正常,唯一的问题是当我尝试检查项目中的所有代码时。

注意2:我既不能使用PHPStorm也不能使用Webstorm。

谢谢。

intellij-idea code-inspection

6
推荐指数
2
解决办法
728
查看次数

Kotlin抑制'状况总是如此'

通过COUNTLESS检查次数(我知道如何启用和禁用)浪费了更多时间,我找不到任何方法来禁用'Condition is always true'Android Studio中我的Kotlin(非Java)文件的特定检查.我知道我在做什么,并且不需要这个检查,但更恰当的是,我想为文件或类或功能或任何东西压制它.

一如既往地令人难以置信的沮丧.

//I'm well aware the condition below is ALWAYS true
if(ANDROID_SUCKS) {
    fml()
}
Run Code Online (Sandbox Code Playgroud)

code-inspection kotlin android-studio

6
推荐指数
6
解决办法
3340
查看次数

PyCharm 警告:关闭标签与 &lt;p&gt; 标签不匹配

从我的 PyCharm检查代码之后。它警告我,因为 Closing 标签与 最后一个</p>标签不匹配

但我没有发现我的代码有任何错误。p 标签已正确关闭。

  <p v-if="files.length">
      <ul>
        <li v-for="file in files">
            {{file.name}} <span v-if="file.success"> - success. </span><span v-if="file.error"> - fail. </span>
            <span v-if="file.success || file.error">{{file.xhr.responseText}}</span>
        </li>
      </ul>
  </p>
Run Code Online (Sandbox Code Playgroud)

如何正确解决此警告?

code-inspection pycharm vue.js

6
推荐指数
1
解决办法
1476
查看次数

ReSharper 检查:未知工具版本 17.0

运行 TeamCity ReSharper 检查命令行工具时。存在错误“未知工具版本 17.0”,详细信息如下。

Inspections (ReSharper)
  Unknown tools version: 17.0
  
  --- EXCEPTION #1/1 [LoggerException]
  Message = "Unknown tools version: 17.0"
  ExceptionPath = Root
  ClassName = JetBrains.Util.LoggerException
  HResult = COR_E_APPLICATION=80131600
Run Code Online (Sandbox Code Playgroud)

我们注意到在安装 VS2022 或 VS2022 构建工具来构建代理后会发生这种情况。有办法解决吗?

TeamCity 企业版 2021.2.2(内部版本 99660)

resharper teamcity continuous-integration code-inspection

6
推荐指数
1
解决办法
932
查看次数

忽略记录器语句上的硬编码字符串 - IntelliJ

在IntelliJ上,我通常启用检查以在Java项目中查找硬编码字符串.但是,由于记录器语句中存在硬编码字符串,它可能会产生大量误报.

IntelliJ中是否有任何方法可以忽略此检查中的记录器语句?

java intellij-idea code-inspection

5
推荐指数
1
解决办法
326
查看次数