Страница: 1 | 2 | 3 | 4 |
Вопрос: Оператор(
Добавлено: 20.10.09 16:10
Автор вопроса: UnDeAdZak
Ответы
Всего ответов: 47
Номер ответа: 16
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #16
Добавлено: 21.10.09 00:32
Ничего, что я сюда заглянул?
Посоветую Артёму заглянуть сюда...
Номер ответа: 17
Автор ответа:
BG(Алексей)
Вопросов: 26
Ответов: 295
Профиль | | #17
Добавлено: 21.10.09 01:31
Полный пипец
Номер ответа: 18
Автор ответа:
AndreyMp
ICQ: 237822510
Вопросов: 28
Ответов: 1182
Профиль | | #18
Добавлено: 21.10.09 08:13
Полный пипец
Номер ответа: 19
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #19
Добавлено: 21.10.09 08:48
Опять началось. Описывать ошибки в дотнете нету смысла, ибо On Error Resume Next реально рулит и ускоряет разработку программы.
Элементарнейший пример:
Если текст пустой то пофиг, ничего не произойдет, программа не вылетит и все будет дальше. И не надо производить никих обработок и т.п. И к чему писать Try/Cath и тратить свои силы? Лучше в это время продвинуть проект еще дальше в разработке. Хочешь отладить - закомментируй временно On Error Resume Next и все.
PS: И ниже много-много возмущений :
Номер ответа: 20
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #20
Добавлено: 21.10.09 11:08
таааак... сейчас будет очень много матов ))
Номер ответа: 21
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #21
Добавлено: 21.10.09 22:03
феерично. а что будет если в функции несколько мест могут генерировать исключения? Вообще кодировать без защиты от ошибок - прямая и быстрая дорога к смерти проекта. Не стоит в себе развивать лень, благо для проверки требуется от силы 3-4 строки.
Номер ответа: 22
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #22
Добавлено: 22.10.09 00:30
афтар нуб и апазорился... ты рассуждаешь как полнейший ламер. Советую внимательней перечитать раздел "Обработка исключений". Если не дойдет - повторить чтение до полного просветления и признания собственной неправоты
Номер ответа: 23
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #23
Добавлено: 22.10.09 10:40
Опять началось. Описывать ошибки в дотнете нету смысла, ибо On Error Resume Next реально рулит и ускоряет разработку программы.
Элементарнейший пример:
'Функция удаляет из Text последний символ
Sub Backspace()
On Error Resume Next
Text = Mid$(Text, 1, Len(Text)-1)
End Sub
Если текст пустой то пофиг, ничего не произойдет, программа не вылетит и все будет дальше. И не надо производить никих обработок и т.п. И к чему писать Try/Cath и тратить свои силы? Лучше в это время продвинуть проект еще дальше в разработке. Хочешь отладить - закомментируй временно On Error Resume Next и все.
Зачем же ужас такой?
Все .NET гораздо проще делается и без всяких On Error, одной стрчокой
Номер ответа: 24
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #24
Добавлено: 22.10.09 11:12
бла-бла-бла
У меня больше десяти проектов на этом сделано до конца, все работают, все довольны и все пучком. On Error Resume Next - нежная вещь, к ней нужно знать подход.
Если на то пошло, можно вообще написать всю программу одной строчкой на дотнете и выделываться, что она написана одной строчкой. Посмотри наглядность мою и твою. Это во-первых. А во-вторых - я тебе привел простейший пример, а не представил проблему реализации удаления последнего символа в строчке. И в-третьих - ты становишься предсказуемым. Как и предыдущий оппонент.
Номер ответа: 25
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #25
Добавлено: 22.10.09 13:14
Крутые дядьки на одну функцию из 3 строк пишут 15 юнит-тестов
Прям так и на каждую??? Ну им наверное больше знаятся нечем...
Номер ответа: 26
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #26
Добавлено: 22.10.09 14:08
Если на то пошло, можно вообще написать всю программу одной строчкой на дотнете и выделываться, что она написана одной строчкой. Посмотри наглядность мою и твою.
С непривычки сложно оценить вариант с LinQ и lambda-выражением.
Конечно все делается через проверку.
Обе функции прогоняем на строке "1", количество итераций 100 000 000. Результат:
Путем несложных подсчетов получаем что вариант с проверкой работает почти в 6 раз быстрее чем вариант с On Error
Теперь прогоняем эти же функции на пустой стркое. Для первой функции с On Error количество итераций пришлось уменьшить на до 100 000. Результаты:
Итог - на данной стркое обычная проверка работает в 34000 раза быстрее чем вариант с On Error.
Также можно заметить что на пустой строке Backspace2 работает быстрее чем на строке из 1 символа, и это объяснимо - если строка пустая, она сразу возвращается, над ней не проводятся опреации по удалению символа.
Данные корректны, можешь сам написать бенчмарк и получишь похожие результаты.
Как ты сам выразился, это протейший вариант. Что происходит на задачах, приближеных к реальным, можешь сам посчитать.
Вобщем что могу посоветовать.
Перестань считать себя крутым, выкинь на свалку VB6, скачай пару книжек для чайников, читай стандарты кодирования, слушай что говорят крутые дядьки
Номер ответа: 27
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #27
Добавлено: 22.10.09 14:57
где наглядность. у тебя это можно назвать неочевидным поведением. т.е. такие места нада убирать и делать код предельно понятным, чтобы не приходилось задумываться, а для чего тут on error resume next. Ах он тут оказывается относится к логике правильного потока выполнения. Для проекта, который ты пишешь в одиночку - пох. Твои проблемы потом искать, где это был правильный поток выполнения для уменьшения строк кода, а где реальная защита от ошибок. А вот будь кто в команде - клац-клац бы звенели садовничьи ножницы чуть ниже твоего копчика.
Номер ответа: 28
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #28
Добавлено: 22.10.09 15:10
Я под столом
Нужно знать... что ОНА умерла
Допустим у тебя мега проект с кучей классов, которые используют другие классы и т.д. и все эти классы сведены в одном главном классе, и тут бац в процедуре на кнопочке у тебя ошибка, которая произошла далеко-далеко в главном классе и как ты найдешь где ошибка?
Номер ответа: 29
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #29
Добавлено: 22.10.09 15:17
Допустим у тебя мега проект с кучей классов, которые используют другие классы и т.д. и все эти классы сведены в одном главном классе, и тут бац в процедуре на кнопочке у тебя ошибка, которая произошла далеко-далеко в главном классе и как ты найдешь где ошибка?
Как-как?
Он же написал как:
Номер ответа: 30
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #30
Добавлено: 22.10.09 19:06
Edit->Find and Replace
Вводим в верхнее поле
On Error Resume Next
В нижнее
'On Error Resume Next
Жмем "Replace All"