All streams
Search
Write a publication
Pull to refresh
633
0
Тагир Валеев @tagir_valeev

Программист

Send message
Похоже, в JDK выбран довольно убогий способ справиться с задачей

Все мы любим покритиковать код, который был написан, когда мы ещё ходили под стол пешком. Но вопрос не в этом. Как правильно-то надо было сделать, расскажи нам :-)

Нет, не может быть. Это совсем бесполезно.

Метод и переменная очевидно не могут называться одними цифрами. Придумывать для типов и для переменных разный набор допустимых символов? Ради чего?

Простите, не мы, а вы.

Ты действительно хочешь жить в мире, где возможен подобный код? :-) Опасайтесь своих желаний!

Да, есть инспекции, а есть аннотаторы, и в некоторых языках почему-то используют аннотаторы, к которым по умолчанию нет механизма саппресса. Почему это так — для меня загадка. В джаве мы всё делаем инспекциями. Но если вы считаете, что у вас что-то подсвечивается неправильно, всегда можно написать баг-репорт или проголосовать за существующих. Про вашу проблему есть репорт?

В джаве return; посреди метода — это не предупреждение, а ошибка компиляции. Если вы совсем не хотите никаких ошибок видеть, а только подсветку синтаксиса, можно отключить гектора в статусной строке:



Только тогда уж оставьте анализ кода при коммите. А то очень часто бывает, что человек думает "ну я же прототипирую, сейчас буду писать коряво, потом исправлю", а в итоге этот корявый код так и живёт десять лет.


Вообще я на этапе прототипирования активно использую shelf или просто доверяю локальной истории и смело удаляю ненужные куски кода, потому что знаю, что смогу их восстановить. Так код выглядит гораздо чище.


Кстати, вот вы написали if (true && ...), а ведь это бесполезно. Вы хотели сделать ветку всегда истинной, но в итоге не сделали ничего. Надо было написать if (true || ...). Если вы эту ошибку сделали в редакторе Хабра, вы могли её сделать и в редакторе кода без встроенного статического анализатора. А анализатор подсветит по-разному: в первом случае выделит только true, а во втором — всё условие. Опытный пользователь сразу заметит ошибку, даже если использует подобные условия для прототипирования. В любом случае это полезная визуальная напоминалка, что эта ветка выполнится всегда. Она пригодится при отладке.


Ещё кстати в отладчике можно менять значения переменных, форсируя выполнение определённой ветки. Часто это гораздо удобнее, чем модифицировать код.

Вообще в этом случае мы всё равно по умолчанию ничего не напишем. Мы не предупреждаем обо всех возможных ошибках с nullability, иначе у вас бы был миллион мусорных предупреждений. Мы говорим только о вероятных ошибках. Про элемент массива мы бы сказали, если бы он был объявлен как @Nullable DriverPropertyInfo @Nullable [], то есть элементы были бы тоже аннотированы как Nullable.

Спасибо за баг-репорт. Это новая фича in-place refactoring пока не отлажена, в 2020.1 EAP ещё часто падает. В 2019.3 таких проблем нет.

Этой фиче сто лет в обед.

Только сейчас понял, что там ещё и QR-код палит :-)

Стоило просто обрезать верх и низ окна :-)

Кстати, IntelliJ IDEA умеет переписать за вас свитч по классам. Так что смело свитчуйтесь по любым объектам, IDEA всё поправит:



Результат:


if (String.class.equals(clazz)) {
    return "str";
} else if (Integer.class.equals(clazz)) {
    return "int";
}
return "obj";

Всё то вы про меня знаете. Иногда бывает надо куда-нибудь съездить.

Насчёт было мало. Docker/Kuber/DevOps — это конфа DevOops, которую проводили почти сразу после Джокера те же люди. Вроде эти вещи напрямую с джавой не связаны, надо идти на более профильные конференции. Для Machine learning, кажется, тоже что-то более профильное есть.

Сегодня не рулил, пешком ходил.

Вообще подобные штуки есть. Например, XML-файлы имеют стандартную XML-расцветку по умолчанию, но если это Ant build.xml или, например, plugin.xml из плагина к Идее, то это распознаётся, иконка меняется, дополнительные инспекции и возможности появляются.

Вечно у тебя всё в мрачном свете! То шрифт плохой, то Идея глючит, то Тагир катится по наклонной!

Легко отвечу здесь: когда вы напишете плагин, тогда и появится.

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Registered
Activity