Добавить в корзинуПозвонить
Найти в Дзене
Java

🖥 Java-совет, который экономит часы дебага: включайте compiler warnings и превращайте их в ошибки

Предупреждение — это часто не «мелочь», а баг, который пока не успел взорваться в runtime. Пример: List list = new ArrayList(); list.add("hello"); Integer n = (Integer) list.get(0); Код компилируется, но потом может прилететь ClassCastException. Правильнее так: List<String> safe = new ArrayList<>(); safe.add("hello"); String s = safe.get(0); Включить жёсткий режим: javac -Xlint:all -Werror *.java Для Maven: <compilerArgs> <arg>-Xlint:all</arg> <arg>-Werror</arg> </compilerArgs> Главная мысль: пусть build падает сейчас, а не продакшен потом.

🖥 Java-совет, который экономит часы дебага: включайте compiler warnings и превращайте их в ошибки.

Предупреждение — это часто не «мелочь», а баг, который пока не успел взорваться в runtime.

Пример:

List list = new ArrayList();

list.add("hello");

Integer n = (Integer) list.get(0);

Код компилируется, но потом может прилететь ClassCastException.

Правильнее так:

List<String> safe = new ArrayList<>();

safe.add("hello");

String s = safe.get(0);

Включить жёсткий режим:

javac -Xlint:all -Werror *.java

Для Maven:

<compilerArgs>

<arg>-Xlint:all</arg>

<arg>-Werror</arg>

</compilerArgs>

Главная мысль: пусть build падает сейчас, а не продакшен потом.