【发布时间】:2019-06-30 15:55:57
【问题描述】:
根据定义,
“幻数”是一个应该被赋予符号名称的值,但是 而是作为文字滑入代码中,通常超过 一处。
这是一个完美的幻数示例
for(int i = 0; i < 4; i++){ // Noncompliant, 4 is a magic number
...
应该改成有意义的东西,比如
for(int i = 0; i < NUMBER_OF_CYCLES ; i++){
...
但 Sonar 也会为 indexNumbers 抛出错误。 例如,我有一个 DAO 类,其中 insert 语句有近 50 多列,声纳为
抛出错误ps.setString(1 ,...)
我相信这比
更具可读性ps.setString(INDEX_ONE ,...)
我的理解有什么问题吗?还是 Sonar 中的错误?
【问题讨论】:
标签: java sonarqube magic-numbers