2016-06-27 5 views
7

Я получаю предупреждение «Булевский метод всегда инвертирован» при запуске lint в IntelliJ. У меня есть несколько подобных предупреждений в моей кодовой базе. Какой основной стиль кодирования, я не хватает?IntelliJ IDEA: Логический метод XX всегда инвертирован

public static boolean isBlueToothEnabled(){ 
    final BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
    if(bluetoothAdapter != null) 
     return bluetoothAdapter.isEnabled(); 
    return false; 
} 
+1

https://www.jetbrains.com/help/idea/2016.1/invert-boolean.html пытаются вернуть '' 'false''', если' '' bluetoothAdapter''' равно null, иначе возвращаем вывод '' 'isEnabled()' '' –

ответ

9

попытка вернуть false если bluetoothAdapter является нуль в противном случае возвращает вывод isEnabled()

public static boolean isBlueToothEnabled(){ 
    final BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
    if(bluetoothAdapter == null){ 
     return false; 
    } 
    return bluetoothAdapter.isEnabled(); 
} 

Подробнее:

В Чистый кодекс, пишет Роберт Мартин, «Негативы лишь бит сложнее , чтобы понять, чем положительные. Поэтому, когда это возможно, условные выражения должны быть выражены как положительные. »(Martin, [G29]). IntelliJ IDEA имеет три инспектора , которые помогут вам оставаться позитивными.

https://blog.jetbrains.com/idea/2014/09/the-inspection-connection-issue-2/ (Вход # 4 Как избежать негативных Conditionals)

https://www.jetbrains.com/help/idea/2016.1/invert-boolean.html

+0

, но какова идея/цель при переключении возвращаемого значения (я не получаю его из ссылки вы отправили). – mobileDev

+0

см. Отредактированный ответ –

Смежные вопросы