当前位置: 首页 > 知识库问答 >
问题:

ArchUnit可以在方法调用中检查某些字符串模式吗?

林德惠
2023-03-14

在我们的代码中,我们一次又一次地遇到这样的问题:当在记录器和string.format(...)之间切换时,有人忘记了调整占位符的用法方法。

logger.info("File {} successfully opened: {} bytes read, {} objects created", file, nrBytes, nrObjects); 
logger.info(String.format("File %s successfully opened: %s bytes read, %s objects created", file, nrBytes, nrObjects)); 

我知道并同意这绝对不是一个体系结构问题,而是一个简单的编程错误,但如果可以(AB-)使用ArchUnit检查String.format()-方法的第一个字符串参数中是否使用了'%s'(或不存在‘{}'),那就太好了。那样的事情可能吗?

共有1个答案

林俊英
2023-03-14

目前版本为0.16.0的ArchUnit不分析方法调用的参数值。

然而,声纳规则“printf样式的格式字符串应该正确使用”可能会捕获这些错误。

 类似资料:
  • 问题内容: 在Python中,如何检查字符串是否仅包含某些字符? 我需要检查仅包含a..z,0..9和的字符串。(句号),没有其他字符。 我可以遍历每个字符并检查字符是a..z还是0..9或。但这会很慢。 我现在不清楚如何使用正则表达式进行操作。 这个对吗?您可以提出更简单的正则表达式还是更有效的方法? 问题答案: 决赛(?) 答案,包装在函数中,带有注释的交互式会话: 注意:在此答案中还有一个比

  • 问题内容: 我正在考虑使用删除字符串中的某些字符。目前尚不清楚将要删除哪些字符(即我想删除哪些字符),但是我会假定任何字符都是有效的(例如和之类的东西,等等)。 我遇到了http://www.java-tips.org/java-se-tips/java.lang/strip-certain-characters- from-a-string.html, 但是肯定有比遍历每个字符更好的方法… 有什

  • 问题内容: 我如何告诉Python在下面检查字母x,然后打印“是”?以下是我到目前为止所拥有的… 问题答案: 使用不带关键字的关键字。 如果您要检查字符是否不存在,请使用:

  • 我想知道您是否可以在hasNext(字符串模式)中指定要扫描的内容。例如,我想检索正在扫描的行的前三个字符。那么有没有办法指定诸如 在这里我要抓取该行的前3个字母字符。

  • 问题内容: 我有一些Python代码,这些代码遍历字符串列表,并在可能的情况下将它们转换为整数或浮点数。对整数执行此操作非常简单 浮点数比较困难。现在,我正在使用分割字符串并检查以确保一侧或两侧都是数字。 这行得通,但是显然,如果使用if语句有点让人头疼。我考虑的另一种解决方案是将转换仅包装在try / catch块中,然后查看转换是否成功 还有其他想法吗?关于分区和尝试/捕获方法的相对优点的看法

  • 当我尝试对输入进行限制时,我在java中遇到了很多麻烦。在此示例中,我需要字符串代码仅接受和等符号。我如何检查以确保没有数字、字母或其他符号?谢谢