声纳 - 始终对if / else / for / while / do语句使用花括号

时间:2012-09-13 14:31:23

标签: javascript sonarqube

所以,我用Sonar分析了我的项目,我得到了这个奇怪的错误:Always use curly braces for if/else/for/while/do statements我通常知道这意味着什么(我不创建没有花括号的块)但在这种情况下它很奇怪:错误主要出现在这类代码中(使用&&或||时),我想知道原因:

if (isCreate && latitude && longitude) {
    ...some code here...
}

编辑:

整个代码:

var map = Ext.getCmp('map_canvas').getMap();

    var latitude = Ext.getCmp('latitudeCmp').getValue();
    var longitude = Ext.getCmp('longitudeCmp').getValue();

    if (isCreate && latitude && longitude) {
        var center = new google.maps.LatLng(latitude, longitude);
        map.setCenter(center);
        var marker = new google.maps.Marker({ position: center, map: map,icon: staticPath+'/images/residence_gMap.png'});
        markersArray.push(marker);
    } else if (latitude && longitude) {
        var center = new google.maps.LatLng(latitude, longitude);
        map.setCenter(center);
    } else if (!latitude && !longitude) {
        var siteEditAction = Seam.Component.getInstance('siteEditAction');
        siteEditAction.getGeolocalizationParameters(fillMapParamsCallback, exceptionHandler);
    }

2 个答案:

答案 0 :(得分:1)

这可能是Sonar Javascript插件中的错误。您能否在user@sonar.codhaus.org邮件列表中报告您的案例:我们的语言团队将对其进行审核,并填写我们的JIRA问题。

答案 1 :(得分:0)

正如我在Sonar邮件列表(http://markmail.org/message/dva7u5pxtggsiz7x)中所说的那样:你面临以下两个问题,即: 将在下一个版本中修复 - http://jira.codehaus.org/browse/SONARPLUGINS-2079http://jira.codehaus.org/browse/SONARPLUGINS-2200