因此,在使用ReSharper时,我试图配置我的代码检查设置,并遇到了一个特定情况的问题.
当尝试将"可疑类型转换或检查"严重性级别从"警告"更改为"错误"时,我注意到此情况下不存在"错误"下拉列表.在做了一些环顾互联网后,我无法找到任何关于为什么在这种情况下会错过'错误'严重性的信息.
'可疑类型转换或检查'位于"潜在代码质量问题"下:

IntelliJ建议com.sun.istack.internal.NotNull在以下程序中导入@NotNull注释(这是错误的):
public class Test implements Comparable<Test> {
@Override
public int compareTo(@NotNull Test o) {
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
尝试正确导入时com.intellij.annotations.NotNull(我认为)它看起来无法找到类:

在我们的环境中,我们编写模板Javascript,其中包含服务器预处理将值插入代码的区域.
一个例子看起来像这样:
var myVarValue = "`serverProcessedVarValue()`";
Run Code Online (Sandbox Code Playgroud)
在上面,服务器运行由反引号划分的函数,并在引号之间写入结果,然后将javascript发送到浏览器.
我们使用IntelliJ IDEA.它(和Webstorm,我假设)突出显示这些反引号作为编码错误.我找不到改变这种行为的设置.有吗?
谢谢!
如何停止此检查:
"会员有保护访问权限,但是类有魔术方法__get"?
我到处搜索但找不到禁用此检查的选项.
我真的不希望属性在它们private存在时仍然标记有不同的颜色,并且__get在类中有一个魔术方法.
如何判断忽略IDEA永久忽略此警告?
Module 'A' sources do not depend on module 'B' sources
Run Code Online (Sandbox Code Playgroud)
注意:
provided- 它工作得很好)Inspection Results对话中,我可以选择"排除" - 但这不是永久的:即当我再次开始分析时,警告将重新出现我发现,唯一的解决方法是真正添加对A代码的引用(例如,在一个简单的假测试方法中) - 但我希望有更好的方法.
我想编写一些代码来检查学生提交的内容,以确保给定的函数包含np.random.choice.
例如:
import numpy as np
def checkme(z, x=[1,2,3], y=4):
tmp = np.random.choice(x, size=y)
if z:
print("z")
return(list(tmp))
Run Code Online (Sandbox Code Playgroud)
我已经看到我可以使用像
tmp = inspect.signature(checkme)
for param in tmp.parameters.values():
print(param.name, ",", param.default)
Run Code Online (Sandbox Code Playgroud)
确定参数和值,这很好,但我想更进一步,确保函数体包含特定的函数或方法。所以在上面,我想确保学生的代码包含np.random.choice.
如何访问函数体以“检查”并确定这是 True 还是 False?
说有一个功能 func
def func():
class a:
def method(self):
return 'method'
def a(): return 'function'
lambda x: 'lambda'
Run Code Online (Sandbox Code Playgroud)
我需要检查一下.
作为考试的一部分,我想"检索"所有嵌套类和函数的源代码或对象(如果有的话).但是我确实意识到它们还不存在,并且没有直接/干净的方式来访问它们而不在func外面(之前)运行或定义它们func.不幸的是,我能做的最多就是导入一个包含func获取func函数对象的模块.
我发现函数有__code__包含code对象的co_consts属性,该属性具有属性,所以我写了这个:
In [11]: [x for x in func.__code__.co_consts if iscode(x) and x.co_name == 'a']
Out[11]:
[<code object a at 0x7fe246aa9810, file "<ipython-input-6-31c52097eb5f>", line 2>,
<code object a at 0x7fe246aa9030, file "<ipython-input-6-31c52097eb5f>", line 4>]
Run Code Online (Sandbox Code Playgroud)
这些code对象看起来非常相似,我认为它们不包含帮助我区分它们所代表的对象类型所必需的数据(例如type和function).
Q1:我是对的吗?
Q2: …
我有一个 XML 文件,看起来像
<script>
<foo>bar</foo>
</script>
Run Code Online (Sandbox Code Playgroud)
这不是 HTML,并且该标记与HTML 脚本标记<script>无关。(与这个问题不同)
但是 IntelliJ(版本 2016.2)错误地显示有关 的子元素的第一个括号的未转义 XML 字符的警告<script>。IntelliJ 将 this 误认为 HTML 脚本标签?我怎样才能防止这种情况发生?
无论是否存在诸如 之类的标头,都会出现警告<?xml version="1.0" ?>。
我在 Java/Hibernate 项目中使用 IntelliJ。我还为该项目分配了一个数据源,因此大多数非现有列的 JPA 验证错误都消失了。
剩下的唯一错误是在@Embeddable 类中定义的这些列,例如:
@Embeddable
public class MyEmbeddedClass {
@Column(name="my_embedded_column")
private String myEmbeddedColumn;
Run Code Online (Sandbox Code Playgroud)
IntelliJ 不断警告我这些列不存在于数据模型中:
“无法解析列‘my_embedded_column’”
有什么方法可以让 IntelliJ 在不禁用整个 JPA 验证功能的情况下跳过 @Embeddable 类的这些 JPA 验证检查,还是我应该为 JPA 验证插件创建错误票证?
Resharper 抛出此检查问题:
添加到集合之前的冗余字典“ContainsKey”
在这部分代码中:
var userPref = new Preferences { Key = key, Value = value };
if (this.preferencesDictionary.ContainsKey(key))
{
this.preferencesDictionary[key] = userPref;
}
else
{
this.preferencesDictionary.Add(key, userPref);
}
return this;
Run Code Online (Sandbox Code Playgroud)
我真的不认为这是多余的。这是一个我应该跳过的错误?或者这里真的有改进吗?
code-inspection ×10
c# ×2
java ×2
python ×2
python-3.x ×2
resharper ×2
.net ×1
bytecode ×1
dependencies ×1
dictionary ×1
hibernate ×1
jpa ×1
nested ×1
php ×1
php-ide ×1
phpstorm ×1
script-tag ×1
webstorm ×1
xml ×1