Вы, кажется, звоните node.get("movieInfo")
и node.get("id")
много раз.Вы могли бы существенно упростить код, кэшируя значения этих двух вызовов в локальных переменных.
Но я не думаю, что есть хороший способ существенно сократить операторы if
.(Возможно, вам удастся пересмотреть операторы if
, создав таблицу лямбда-выражений, а затем итерируя «ключи» вашего узла, ища и вызывая соответствующие лямбда-выражения. Но я сомневаюсь, что это облегчит чтение кода.)
Вы можете разделить метод на под-методы и уменьшить количество if
операторов на метод.Это, вероятно, сделать SonarLint счастливее, но это спорно, что делает код более читаемым.
Я хотел бы иметь нулевые ошибки от SonarLint.
1017
Это не то, что ваша цель должна быть.Очевидная цель таких инструментов, как SonarLint, - помочь вам сделать ваш код более читабельным и обслуживаемым с помощью искусственных мер сложности кода.Однако:
- Программисты, как правило, могут иметь дело со сложностью, показанной здесь.Этот код является скорее повторяющимся, чем сложным.
- Иногда сложность присуща задаче, которую вы пытаетесь выполнить.