2016-09-28 16 views
0
$scope.nodataCheck("W",$scope.groups) && $scope.nodataCheck("b",$scope.groups) ?$scope.noWatsonData=true:$scope.noWatsonData=false; 

を「...オペランドで割り当てを避けてください」私は、オペランドに割り当てを避けてください」と言っPMDエラーを取得しています。これは、コードが複雑で読みにくくすることができます。これは、いつかの指標 です。等号演算子 '=='の代わりに代入演算子 '='が使用されたバグ。解決PMDエラー

どうすれば解決できますか?

答えて

0

trueまたはfalse$scope.noWatsonDataに割り当てています。これはラインの最後に埋もれているので、見やすく、見落としやすい。あなたは最初に割り当てを移動することができます - それは明らかであるように、この行は$scope.noWatsonDataの新しい値を決定していること:

$scope.noWatsonData = $scope.nodataCheck("W",$scope.groups) 
    && $scope.nodataCheck("b",$scope.groups) 
    ? true 
    : false; 

私たちは今、単に条件に応じて真/偽割り当てているように、我々はちょうど割り当てることができます三項演算子なしで、それも短くすることを:

$scope.noWatsonData = $scope.nodataCheck("W",$scope.groups) 
    && $scope.nodataCheck("b",$scope.groups); 

参考までに、これはPMD JavaScriptのルールについてAssignmentInOperand

です
関連する問題