有没有办法让甘蔗忽略日志消息?
例如,我们的日志消息如下所示:
logger.debug { "something happened that you should know about" }
这增加了方法的复杂性,但这是必要的复杂性,所以我不希望它在ABC复杂度测量中计算。
删除调试语句周围的块将降低复杂性,但它也会降低代码速度,因为必须在方法运行时评估字符串。我们需要速度提升。
答案 0 :(得分:1)
没有办法开箱即用,但你可以自定义AbcCheck
为某些AST节点添加例外:https://github.com/square/cane/blob/master/lib/cane/abc_check.rb#L51
在实践中,我发现如果方法中的日志记录添加了如此多的复杂性而成为一个问题,那么分解该方法通常是有意义的。如果没有,请记住,较低并不总是更好。甘蔗的目标是防止你意外地犯下复杂的方法,而不是奖励你获得最低分。
现在还有一些功能可以排除某些文件,这些文件无法直接解决您的问题,但可能会有所帮助。请参阅自述文件的“定义排除”部分。