问题标签 [code-inspection]

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 投票
1 回答
14 浏览

python-3.x - 如何访问在类中的类之前定义的函数的名称

让我们考虑以下文件myfile.py

我想访问在我的类之前定义的所有函数。内部目录是关于类而不是文件,如上面的输出所示。

一种解决方案是在类之前添加一个全局常量previousnames = dir(),但有更好的方法吗?

0 投票
4 回答
201 浏览

haskell - 如何在 Haskell 中打印标识符或绑定的名称?

假设我想在 Haskell 中打印“变量”的名称和值。这个名字在编译时就知道了!有没有比下面的例子更好的方法?

请在您的答案中发布一个工作代码示例(runhaskell)!

0 投票
2 回答
147 浏览

java - 如何使 IntelliJ Idea 仅显示编译器生成的警告并禁止智能检查?

我正在研究 IntelliJ Idea 14。有没有办法解决上述问题?

0 投票
1 回答
1303 浏览

javascript - 禁用 PHPStorm 对 JavaScript 分号的内置检查

适用于 Mac 的 PHPStorm 8.0.3 想告诉我 JavaScript 中缺少分号的情况。我不希望 PHPStorm 这样做。

这个博客页面说...

内置检查可帮助您检测错误和潜在问题,例如缺少分号...

后来,博客指出“内置检查的完整列表可在 Preferences | Inspections 中找到”,但我在 14 个检查类别的任何子类别中都找不到分号。

PHPStorm 对分号不妥协吗?

0 投票
2 回答
440 浏览

java - 用于检测字符串参数顺序错误的方法调用的注释

我们有一个很大的应用程序,它使用了很多Strings

  • 对于序列号
  • 产品名称
  • 对于订单号
  • 供客户参考
  • ... 还有很多 ...

不幸的是,我们的开发人员只是人类。有时String在调用方法时值会混淆。例如:

当您的方法采用大约 30 个这些参数时,很难检测到切换 2 个参数。(是的,它是那些繁重的业务应用程序之一)

旁注:如果我们创建自己的类SerialNumber来充当String. 但这似乎大错特错。

最近,我开始怀疑是否有一种方法可以使用自定义注释来检测混淆。毕竟,已经有像Nullable, NonNull... 这样的注释了,这并没有太大的不同。

我们想注释我们的源代码,例如这样:

接下来,我们想找到一种方法,让我们的 IDE 检测到这里切换了 2 个参数。

我们正在使用 IntelliJ IDE。不编写 IDE 插件有什么可能?

0 投票
1 回答
408 浏览

intellij-idea - Exclude folder from Analyze > Run Inspection by Name

Is it possible to exclude a folder when I want to analyze the code in IntelliJ IDEA?

Usage example:

Analyze > Run Inspection by Name... > Missorted modifiers

It founds a lot of results, but some of them are from folders that contain generated Java files. I want to exclude those Java files.

Attempts:

I could find it neither here:

enter image description here

nor in

File > Settings...

Details:

  • IntelliJ IDEA 14.1.3
  • Windows 7
0 投票
1 回答
53 浏览

resharper - 替换模式中的多种方法

当我尝试在 Resharper 中编写自定义规则以拆分方法时,当替换模式 屏幕中有多个方法时,我无法保存规则(它说 method1 是意外标记,尽管当我删除 method2 时一切正常)

有什么办法可以做到这一点?

0 投票
0 回答
98 浏览

python - 如何判断一个函数是否在 python 的跟踪函数中的循环中被调用?

在python的tracer回调中sys.settrace(),我可以得到函数名、行号等。现在我想知道当前被跟踪的函数是否被其调用者循环调用。有没有办法做到这一点?

0 投票
1 回答
156 浏览

sharpdevelop - 在 SharpDevelop 中禁用代码检查

如何在 SharpDevelop 5.1 中禁用代码检查?由于不断的代码检查,它让我非常恼火,并且减慢了打字速度。工具 - 选项 - 编码 - C# - 代码检查中有一个复选框,但它是只读的。

0 投票
0 回答
51 浏览

c# - 强制变量求值的静态代码分析

我有这个 C# 解决方案,我们在其中使用某种模式。一个函数是否成功返回真/假,以及一些值。如果函数返回 false,则该值可能不会被使用。因此,在调用此类函数(具有此特定模式)的范围内,IsSuccessful必须评估布尔值。

我们使用 VS2013 + ReSharper 9。有没有办法自动检查代码中是否遵循这种模式?如果这些工具无法实现,是否还有其他工具?我最后的手段是编写一个单元测试来执行这个静态代码分析。

代码示例:

编辑:

我半解决了我的问题。在创建对象时,当前的堆栈跟踪被保存(new StackTrace())。在对象销毁时(当垃圾收集器清理它时),检查IsSuccesful对象的属性是否在其生命周期内被评估过。如果不是,则会记录带有堆栈跟踪的警告。