所以,我用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);
}
答案 0 :(得分:1)
这可能是Sonar Javascript插件中的错误。您能否在user@sonar.codhaus.org邮件列表中报告您的案例:我们的语言团队将对其进行审核,并填写我们的JIRA问题。
答案 1 :(得分:0)
正如我在Sonar邮件列表(http://markmail.org/message/dva7u5pxtggsiz7x)中所说的那样:你面临以下两个问题,即: 将在下一个版本中修复 - http://jira.codehaus.org/browse/SONARPLUGINS-2079和 http://jira.codehaus.org/browse/SONARPLUGINS-2200