Лично я вообще редко использую класс Debug для каких-либо программ. Я прочитал много комментариев и предложений, например, от Джона Роббинса (автора Отладка приложений .NET 2.0 и Bugslayer столбцы) о том, почему вы должны утверждать проактивно, особенно параметры для методов.
Проблема в том, что я должен был написать такой код:
Public Sub Test(source As Object)
Debug.Assert(source IsNot Nothing, "source is Nothing")
' Do something....
End Sub
Это хорошо работает во время разработки с отладочными сборками, но я все равно делаю это:
Public Sub Test(source As Object)
If source IsNot Nothing Then
' Do something....
End If
End Sub
Если есть шанс, что «источник» будет ничем, я все равно сделаю проверку «Если». Я не собираюсь оставлять вызов assert в сборке релиза.
Другая причина, по которой я не использую класс Debug, заключается в том, что я пишу много модульных тестов. Это заставило меня охватить множество путей кода, поэтому наличие Debug.Assert в моем коде не требуется.
Что касается ведения журнала отладки, то я просто использую вызовы Trace и SysInternals DebugView или текстовые файлы для регистрации вывода вызовов трассировки.
Я хотел бы услышать мнение других по этой теме, так как мне также интересно узнать, как они могут использовать класс Debug во время разработки. У меня нет большого опыта в этой области, поэтому я очень хочу учиться.
person
Jason Evans
schedule
09.07.2009