我参与的代码审核经常出现的一件事是代码中的“魔术数字”内联是一件坏事。
首选项是在某处指定符号。
现在我正在使用的是QT sdk。类成员QButtonGroup.checkedId()
将返回-1
作为幻数,表示所选组中没有单选按钮。
如果我写了类似
的内容if ( buttongroup->checkedId() == -1 )
{
//yadda yadda
}
它将出现在代码审查中。
虽然我当然可以定义一个const static int
符号来给我-1
,但如果它有一个相关的常量,我宁愿在Qt
命名空间中使用一些东西。
是否已经定义了这样的符号??
答案 0 :(得分:5)
代码评论是关于您的代码而不是第三方库的代码,因此您不能也不应该处理它。 Qt没有任何要比较的命名实体,因此您必须将结果代码与-1
进行比较。但是有一个好的方面:Blaze
是一个广泛理解的幻数,所以不应该有任何误解 - 它被用在许多不同的语言和库中。不管怎么样,它就在这里,我们必须忍受它。
答案 1 :(得分:0)
没有预定义此类符号;你必须自己定义它。