问题标签 [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.
python - Python - 可以在不显式使用名称的情况下调用自身吗?
或者更广泛的问题:如何在 python 中创建一个递归函数,并且在更改其名称时,只需在声明中更改它?
java - findViewById() 可能会产生 NullPointerException
我有很多这样的电话:
AndroidStudio 告诉我他们可能会产生NullPointerException
:
方法调用
getView().findViewById(R.id.main_list_view)
可能会产生java.lang.NullPointerException
更少的... (Ctrl+F1)此检查分析方法控制和数据流,以报告始终为真或假的可能条件、其值被静态证明为常数的表达式以及可能导致可空性合同违规的情况。
变量、方法参数和返回值被标记为
@Nullable
或被@NotNull
视为可空(或分别为非空)并在分析期间用于检查可空性合同,例如报告可能的NullPointerException
错误。更复杂的合约可以使用
@Contract
注解来定义,例如:
@Contract("_, null -> null")
— 如果方法的第二个参数为 null@Contract("_, null -> null; _, !null -> !null")
,则方法返回 null — 如果第二个参数为 null,则方法返回 null,否则返回非 null
@Contract("true -> fail")
— 一个典型的assertFalse
方法,如果将 true 传递给它就会抛出异常可以将检查配置为使用自定义
@Nullable
@NotNull
注释(默认情况下将使用 annotations.jar 中的注释)
幸运的是一切都有效,但是我可以对这段代码进行改进吗?
android-studio - 如何使用 Intellij 搜索和替换模式消除“新行大括号”?
我正在尝试使用以下搜索和替换模板查找大括号在新行中写入的所有 if 语句:
搜索模板:
替换模板:
如果模板引擎不区分两个模板,我将面临的问题。它让我可以用正确的模板替换搜索模板,但它也会将“正确”的模板检测为错误模板。
有没有办法使用某种正则表达式来解决这个问题?
编辑:在 Android Studio 上工作。我正在尝试为我的公司代码样式约定生成一组 lint 规则,这些规则将显示为警告或错误
java - 什么是android studio中的“忽略方法调用的可抛出结果”?
我在android studio中有这样的代码:
getAMapException 方法返回从 Exception 扩展的 AMapLocException 实例。
现在 android studio 显示了一些提示,我不知道如何处理它们。
报告对忽略调用结果并返回 Throwable类型(或子类型)的对象的特定方法的调用。通常这些类型的方法被用作异常的工厂方法,并且应该抛出结果。
而且我还通过google找到了ThrowableResultOfMethodCallIgnored.java文件源,但我仍然不知道如何处理它。
javascript - 如何找出哪些js代码更改了选定的索引
我有一个下拉菜单,我选择的索引是由 php 设置的(只要禁用 javascript 就可以使用)。
当我启用 javascript 时,一旦加载页面,我选择的索引就会更改为第一个选项。现在我需要找出哪一块 js 改变了我选择的索引。
谁能告诉我如何找到这个,例如使用萤火虫?
css - CSS 列表样式 - 即使使用适当的列表样式类型也不显示标记项目符号
我已经明确地将我的ul
元素设置为具有list-style-type: disc
. 中的li
元素会ul
自动继承此样式。换句话说,disc
每个li
元素之前都应该有项目符号(这就是它的意思)。
Firefox Inspector devtool 正确识别li
列表中的所有元素都具有属性的(继承的)值 'disc' list-style-type
。
但是,如果您运行代码片段,您还可以看到,光盘(即项目符号)实际上并未显示在浏览器表示中。相反,列表显示为如同list-style-type
定义为none
(即在li
元素前面没有看到项目符号或任何符号)。
我想知道这怎么可能:浏览器显示(没有项目符号)似乎list-style-type: disc
与 Inspector 工具中正确显示的声明直接矛盾。
有人对 Inspector 工具(正确)所说的内容与实际浏览器表示之间的明显矛盾有解释吗?
scala - Scala 宏检查树的匿名函数
我刚刚开始使用宏,感觉我错过了一些非常明显的东西......
我想检查 AST 是否有传递给我的宏的匿名 lambda 函数,最终我想对它做一些事情,但我遇到了第一个障碍。
我的代码如下所示;
我期待 showRaw 打印出类似的东西;
但是,相反,我得到了;
我可以通过在调用站点上定义我的匿名函数来获得我想要的 Builder.build 像这样;
但是,这并不能帮助我做我需要的事情。
有人可以解释一下我的误解,我怎样才能实现我的目标?
另外,我应该阅读一些很棒的 Scala 宏食谱吗?
问候,
瑞安。
forms - 榆树 - 形式检查
下面的函数包括使用collage
, 仅用于将形状/表单转换为元素。
有没有办法提取表单的维度,比如Graphics.Element.sizeOf
,这样makeSlider
函数就不需要知道 的显式维度sliderBarForm
?
或者是否toElement
存在一个函数,使得
collage 1000 1000 [(move (0,0) sliderBarForm)]
可以替换为
toElement (move (0,0) sliderBarForm)
?
heap-memory - 堆检查 A6-敏感数据暴露
我需要修复运行安全扫描后出现的堆检查漏洞。扫描生成的文档指向 POJO 属性“private String password;”。还提到“该应用程序不包含任何设置内容安全策略标头的代码。” 任何人都可以帮助我如何删除此堆检查漏洞
python-3.x - 在跟踪装饰器中,如何检索从装饰函数返回的返回语句的行号?
在 Python 3.5 中,我正在编写一个元类,它将跟踪装饰器(方法进入和退出的日志记录)添加到所有方法。我正在使用 logging.getLogRecordFactory()/setLogRecordFactory() 在调用 log 函数之前修改 LogRecord 中的某些字段,特别是我想修改“lineno”。对于入口跟踪,我使用 co_firstlineno,对于由于异常导致的退出跟踪,我使用回溯的 tb_lineno。
如何检索从修饰函数返回的 return 语句的行号(可能有多个这样的语句)或该函数的最后一条语句的行号,以防它在没有返回语句的情况下返回?