|
Тема |
Re: хубав код вапрос [re: KpyM] |
|
Автор | fir4o (Нерегистриран) | |
Публикувано | 08.04.04 11:32 |
|
|
Мога да ти кажа ка се препоръчва на Java за логване на съобщение. Реално това е много подобно:
Ето и примера:
if( Log.isDebugEnabled() ) {
Log.debug("grehska, golqma greshka!");
}
другото е:
Log.debug("grehska, golqma greshka!");
но самият Log class e:
class Log {
private boolean debugEnabled;
..
public void debug(String message) {
if(debugEnabled) {
.....
}
}
}
Работата е там, че първият метод е по-добър и ето защо:
Във вторият метод, debug съобщението няма да бъде запазено защото debugEnabled==false. Да но, при извикване на метода, ако съобщението е конкатенация на стрингове, се създава нов String обект, който реално остава неизползваем. Въпреки това създава малко повече работа на ГЦ-то.
При Ц/Ц++ е малко по-различно, и специално за логване е по-добре да се използват препроцесорни директиви, но като цяло не мисля, че е правилно да се слагат тези проверки.
В твоят конкретен случай проверката ако не е скрита в метода, можеш да информираш потребителя, че точно в момента данните не могат да бъдат прочетени.
Ако ли пък могат, ще ги прочетеш и ако резултатът е отрицателен, ще информираш, за някаква входна грешка.
Ако използваш скритата проверка нямаш представа защо точно не могат да бъдат прочетени данните - дали защото в момента не е позволено четенето им или защото има някаква входна грешка.
|
| |
|
|
|