Использование вложенного тернарного оператора
Не используйте вложенный тернарный оператор, это затрудняет понимание кода. Используйте промежуточную переменную. А еще лучше вообще избавиться от использования тернарного оператора, заменив их на Если-ИначеЕсли
.
Неправильно из-за повышенной сложности понимания кода:
Результат = ?(A = B,?(C = D, Истина, Ложь), Истина);
Лучше:
ПромежуточнаяПеременная = ?(C = D, Истина, Ложь);
Результат = ?(A = B, ПромежуточнаяПеременная, Истина);
См. также
- The ternary operator should not be used
- Ternary operators should not be nested
- Dissimilar primitive wrappers should not be used with the ternary operator without explicit casting
Экранирование кода
// sonar:NestedTernary:off
// sonar:NestedTernary:on