Создание класса отладки - PullRequest
3 голосов
/ 27 июня 2011

В некоторых проектах я видел, что у ppl есть свой "класс отладки".

Таким образом, вместо ввода: trace («посмотрите на это!») Вы набираете Debug.trace («посмотрите на это!»).

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

Мой вопрос: какие преимущества я могу получить, если использую класс отладки в AS3?

Ответы [ 2 ]

3 голосов
/ 27 июня 2011

Я фактически не использую свой класс отладки таким образом.Для этого у меня есть фреймворк логов, для этого и логи.В моем классе отладки есть такие вещи, как

// I usually use these for debugging and it avoids the need of an 
// additional import.
function whatIs( obj:* ):String{ return getQualifiedClassName( obj )}
function describe( obj:* ):XML{ return describeType( obj ); }

У меня также есть метод getLines - он возвращает длинные строки, чтобы я мог легко просматривать следы журналирования и видеть конкретные точки.

Носамый важный из них:

function getStack():String {
    try
    {
        throw new Error( "Someone set us up the bomb!" );
    }
    catch( e:Error )
    {
         return e.getStackTrace();
    }
}

У меня даже есть обертка вокруг getStack, которая возвращает класс и метод, который был вызван совсем недавно перед методом, который вызвал getStack ().

1 голос
/ 27 июня 2011

Класс отладки позволяет вам выполнять различные уровни (уведомление, предупреждение, ошибка, критическое состояние, апокалипсис и т. Д.). Как вы упомянули, вы можете отключить в одном месте. Вы можете отметить время сообщения. Вы можете отправлять вывод в разные места, что может быть очень удобно для отладки работающего приложения или отладки чего-то, что происходит нечасто. Вы также можете иметь некоторую логику, чтобы определять типы аргументов и делать разные вещи с отладочной информацией.

...