Перейти к содержимому


- - - - -

Debugging vs logging


  • Вы не можете отвечать в этой теме
5 replies to this topic

#1 Ilg

Ilg

    geek

  • Root Admin
  • PipPipPipPipPipPipPip
  • 2 717 Сообщений:
  • Time Online: 17d 6h 22m 31s

Отправлено 29 Февраль 2008 - 11:28

Цитата
As personal choice, we tend not to use debuggers beyond getting a stack trace or the value of a variable or two.

One reason is that it is easy to get lost in details of complicated data structures and control flow; we find stepping through a program less productive than thinking harder and adding output statements and self-checking code at critical places.

Clicking over statements takes longer than scanning the output of judiciously-placed displays.

It takes less time to decide where to put print statements than to single-step to the critical section of code, even assuming we know where that is.

More important, debugging statements stay with the program; debugging sessions are transient.

© Brian W. Kernighan, Rob Pike, "The Practice of Programming"


ваш подход - включать как можно больше отладочных сообщений в код, и читать логи или запускать отладчик и искать ошибку?

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

делитесь опытом и идеями smile.gif
  • 0

#2 sapsan

sapsan

    ayıq qafil

  • Постояльцы
  • PipPipPipPipPip
  • 837 Сообщений:
  • Time Online: 9h 32m 19s

Отправлено 29 Февраль 2008 - 11:49

очень редко пользуюсь..
  • 0

#3 charlie

charlie

    rm -rf /

  • Новенькие
  • PipPip
  • 71 Сообщений:
  • :

Отправлено 29 Февраль 2008 - 01:49

Дебаггером пользуюсь очень редко. В основном логгинг и покрытие юнит-тестами.
  • 0

#4 Ilg

Ilg

    geek

  • Root Admin
  • PipPipPipPipPipPipPip
  • 2 717 Сообщений:
  • Time Online: 17d 6h 22m 31s

Отправлено 29 Февраль 2008 - 02:00

charlie,

ну и как? код бывает читаемым? как избежать "засорения кода"?
  • 0

#5 charlie

charlie

    rm -rf /

  • Новенькие
  • PipPip
  • 71 Сообщений:
  • :

Отправлено 29 Февраль 2008 - 05:37

2 Ilg:
Аспекты я юзаю не для DEBUG-логгинга. Юзаю их для записи в лог (чаще всего лог-таблицу) всякой активности пользователя - ну там вошел в систему, сохранил что-то, etc. Т.е. более высокоуровневое логгирование (трасировка), чем тебе надо. Кроме того, если мне не изменяет память, минимальной точкой входа для aspect-a является функция. Т.е. такой case ты не прологгируешь:

Код

function test() {
    log.debug("Foo");
    //здесь что-нибудь делаем
    log.debug("Bar");
   //опять что-то сделали
   log.debug("FooBar");
}

А насчет читабельности кода с подробнвм логгингом - то во всем нужна мера. Например, логгировать только то, что необходимо, не кидать Exception и писать в лог одновременно. Лучше выкинуть Exception, а на уже более высоком уровне залоггировать ошибку.
  • 0

#6 Эльказ

Эльказ

    PHP Specialist

  • Постояльцы
  • PipPipPipPipPipPip
  • 1 793 Сообщений:
  • Time Online: 5h 33m 54s

Отправлено 04 Июнь 2009 - 07:01

Логгинг
  • 0





0 пользователей читают этот форум

пользователей, гостей, скрытых