【发布时间】:2012-09-06 16:22:23
【问题描述】:
所以,我用 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);
}
【问题讨论】:
-
错误或警告被视为错误??除非它是一个块,否则您不必使用花括号。我假设你的纬度和经度变量是布尔值??
-
当您在报告中向下钻取时,它指向的行是什么?
-
@basiljames 它指向第一行,即带有 IF 的行;显示为严重违规。
-
@PaulG 我已经用几乎整个代码更新了我的问题。 isCreate 是布尔值,但经度和纬度不是,它们是纬度和经度值;如果它们是布尔值,我想我会遇到命名问题:)
-
这不是java代码...?
标签: javascript sonarqube