我想确认这是否是PMD的错误?如果是,我如何提交票证.
public static void main(final String[] args) {
for (final String string : args) {
string.getBytes(); //UR Anomaly
}
for (int i = 0; i < args.length; i++) {
args[i].getBytes();
}
}
Run Code Online (Sandbox Code Playgroud)
第1-3行被标记为UR异常,而重写它以使用局部变量进行迭代很好.
想要消除尽可能多的PMD违规,但不得不求助于旧的循环结构作为一种解决方法.
虽然有争议,但我不希望禁用此规则,因为我发现DD,并且DU异常标记为有用.
显然,我对红宝石的理解有些不对劲。我有 3 个 ruby 文件,主要文件、基础文件和派生文件。我有两个Derived专业的课程Base。
/bin/main.rb
require './lib/base'
Run Code Online (Sandbox Code Playgroud)
/lib/base.rb
require './lib/derived'
class Base
end
Run Code Online (Sandbox Code Playgroud)
/lib/派生.rb
require './lib/base'
class Derived < Base
end
Run Code Online (Sandbox Code Playgroud)
带耙子运行ruby './bin/main.rb'
`<top (required)>': uninitialized constant Base (NameError)
Run Code Online (Sandbox Code Playgroud)
是什么导致了错误?
编辑:我刚刚意识到我遗漏的一点是我忘记了这require是一种 Kernel#method,我不需要像通常使用其他语言那样每次都掌握我的代码。
我正在尝试在表单验证中显示友好的错误消息。我在模型类中有一个带有注释的属性:
[Required(ErrorMessage="The number attribute is required")]
public int Level { get; set; }
Run Code Online (Sandbox Code Playgroud)
它不起作用,但是当我将数据类型更改为 时string,会显示注释的错误消息。这是否意味着int不支持?
当我在控制台中运行以下代码时:
for(var k = 0; k < 36; k++){
setTimeout(function(k){ alert(k)}, k*5000);
}
Run Code Online (Sandbox Code Playgroud)
警报显示未定义.此外,我希望在每次迭代后增加超时功能的延迟; 但这不会发生.超时功能应在5秒后首先运行,然后在10秒后再运行15秒,依此类推.
为什么未定义警报,为什么在每次迭代后没有延迟增加?
由于k在本地超时功能范围内,它应该在其内部可见.
for-loop ×2
asp.net-mvc ×1
class ×1
function ×1
inheritance ×1
java ×1
javascript ×1
pmd ×1
ruby ×1
scope ×1
settimeout ×1