#if defined(_DEBUG) ???
От: Denys V. Украина http://ua.linkedin.com/in/dvalchuk
Дата: 01.11.11 10:43
Оценка:
собственно как не удалять дебажный (весьма полезный) код и при этом не включать его в релиз?
С уважением Denys Valchuk

IMHO чем больше мнений тем оптимальней выбор варианта... :)
Re: #if defined(_DEBUG) ???
От: Blazkowicz Россия  
Дата: 01.11.11 10:49
Оценка:
Здравствуйте, Denys V., Вы писали:

DV>собственно как не удалять дебажный (весьма полезный) код и при этом не включать его в релиз?

Обычно "дебажный код" используется для логирования. Поэтому logger.isDebugEnabled().
Можно if(false), если большой кусок, а коментить не хочется.
Ну, не препроцессор же ради такого тащить?
Можно system property передавать через -D.
Re: #if defined(_DEBUG) ???
От: A13x США  
Дата: 01.11.11 11:10
Оценка:
Здравствуйте, Denys V., Вы писали:

DV>собственно как не удалять дебажный (весьма полезный) код и при этом не включать его в релиз?


Если этот код, к примеру, занимается логированием аргументов функции и т.п. можно выделить его в аспект, который задействовать в зависимости от выставленного свойства в конфиге
Re: #if defined(_DEBUG) ???
От: Steamus Беларусь  
Дата: 01.11.11 11:23
Оценка: 5 (2)
Здравствуйте, Denys V., Вы писали:

DV>собственно как не удалять дебажный (весьма полезный) код и при этом не включать его в релиз?


Если на этапе компиляции в байткод, java-компилятор видит что некий кусок кода не выполняется, то он его не включает в выход. Таким образом, можно сделать так:

public final static boolean DEBUG = false // true;

if( DEBUG )
{
System.out.println( message );
}

Вот тут обсуждалось и тут пояснялось
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.