Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 |

 

  Вопрос: Как отработать свертование формы Добавлено: 01.09.10 13:17  

Автор вопроса:  pavel

Ответить

  Ответы Всего ответов: 37  

Номер ответа: 16
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #16 Добавлено: 11.09.10 19:20
Не вижу смысла говорить про идеологическую неверность этой конструкции. Как говорится, умный не кажет, дурак не поймет.

Задам вопрос попроще. Раста, не запуская код, скажи, во сколько примерно раз будет отличаться время работы двух методов? При условии что Obj - это всегда Nothing. В качестве дополнительного задания скажи почему это происходит.

  1.  
  2.     Public Obj As Object
  3.     Sub Proc1(ByVal steps As Integer)
  4.         On Error Resume Next
  5.  
  6.         For i = 0 To steps - 1
  7.             Console.WriteLine(Obj.ToString())
  8.         Next
  9.  
  10.     End Sub
  11.  
  12.     Sub Proc2(ByVal steps As Integer)
  13.         For i = 0 To steps - 1
  14.             If Obj IsNot Nothing Then
  15.                 Console.WriteLine(Obj.ToString)
  16.             End If
  17.         Next
  18.     End Sub


Кстати более менее серьезное приложение, работающее с данными, этим On Error Resume Next можно в 2 счета загнать в неопределенное состояние и безвозвратно повредить данные.
Нет, ты ничего не подумай, никакой ошибки не упадет. Но "программисту" клиенты жопу все равно намылят.

Ответить

Номер ответа: 17
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #17
Добавлено: 11.09.10 23:41
Судя по тому, что это написал ты, и это про On Error Resume Next, вариант с тем что ты оспариваешь по определению подразумевается у тебя под говном. Это все знают. И, если бы ты прочитал мой предыдущий топик, то не написал бы
Artyom пишет:
этим On Error Resume Next можно в 2 счета загнать в неопределенное состояние и безвозвратно повредить данные.

Смекаешь?
:)

Ответить

Номер ответа: 18
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #18
Добавлено: 11.09.10 23:42
...да и это
Artyom пишет:
Раста, не запуская код, скажи, во сколько примерно раз будет отличаться время работы двух методов?

тоже.

Ответить

Номер ответа: 19
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #19 Добавлено: 12.09.10 00:06
по определению подразумевается у тебя под говном

уточню.. не подразумевается, а является... смекаешь разницу,раста?

Ответить

Номер ответа: 20
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #20
Добавлено: 12.09.10 11:47
Не спорю, помогает он не везде, но вот в местах, где последствия того, что код отработал неправильно, не особо важны, он очень даже хорошо облегчает написание.

Банально, забудем про WPF и вернемся к 6:
  1.  
  2. Private Sub Form_Resize()
  3. With Button1
  4. .Left = 5000
  5. .Width = ScaleWidth - .Left - 100
  6. End Sub
  7. With Button2
  8. .Left = 7000
  9. .Width = ScaleWidth - .Left - 300
  10. End Sub
  11. ListBox1.Height = ScaleHeight - ListBox1.Top


Если я вставлю вверх On Error Resume Next, то это все перестанет вылетать при сворачивании окна, и при его слишком малых размерах.
Конечно же код станет говном, ибо результаты этих очень нужных вычислений окажутся поврежденными. Ведь это очень важно - ресайзить интерфейс в свернутом окне. И конечно же, дальше все работать будет неправильно. Бо?

Ответить

Номер ответа: 21
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #21 Добавлено: 12.09.10 12:21
В XQR2 оператор On Error Resume Next был использован ровно 1909 раз

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

Ответить

Номер ответа: 22
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #22 Добавлено: 12.09.10 12:57
Банально, забудем про прогарммирование.

Прийди на собеседование и скажи HR-у что написал прогу в которой On Error Resume Next используется 1909 раз. После этого засекай, сколько секунд потребуется охране чтоб вынести тебя из офиса и засунуть в мусорный бак.

Конечно же, любой HR-менеджер (я не говорю про технического специалиста) понимает что программы котоыре пишутся в этой конторе станут хуже работать только из-за того что в стенах офиса кто-то произнес On Error Resume Next

Ответить

Номер ответа: 23
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #23
Добавлено: 12.09.10 15:14
VBD в последнее время считает себя авторитетным специалистом и имеет право нести бред. По крайней мере, он так думает.

Ответить

Номер ответа: 24
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #24
Добавлено: 13.09.10 05:06
Просто объясните мне конкретно, почему его нельзя использовать никогда и нигде. Кроме очень весомых аргументов вроде
EROS пишет:
В твоем калькуляторе 1909 форм, которые ты ресайзишь? VBD хватит уже нести чушь тут.. иногда лучше жевать чем говорить.. купи себе бубльгум, может за умного прокатишь..

 

,
Artyom пишет:
засекай, сколько секунд потребуется охране чтоб вынести тебя из офиса и засунуть в мусорный бак.

и
Executioner пишет:
VBD в последнее время считает себя авторитетным специалистом и имеет право нести бред. По крайней мере, он так думает.

.
И не уходите от темы. Почему никогда и нигде?

Ответить

Номер ответа: 25
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #25 Добавлено: 13.09.10 09:29
потому что медленно и глупо

Ответить

Номер ответа: 26
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #26
Добавлено: 13.09.10 13:15
Это вполне бы заменило resume next при сворачивании If WindowState = vbMinimized Then Exit Sub

Ответить

Номер ответа: 27
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #27 Добавлено: 13.09.10 13:57
угу, как я сразу собственно, и сказал. Нет же, всем надо выпендриться xD

Ответить

Номер ответа: 28
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #28 Добавлено: 13.09.10 14:14
  1. On Error Resume Next
  2. TalkToLady "Девушка, давайте я вас щас прямо тут трахну!"
  3. On Error Goto 0

Ответить

Номер ответа: 29
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #29 Добавлено: 13.09.10 15:03
Просто объясните мне конкретно, почему его нельзя использовать никогда и нигде.

VBD, ты вроде не новичок.. даже какой там калькулятор написал, а спрашиваешь очевидные вещи..
Во первых, это плохой стиль программирования.. Одно дело для себя писать говнокод на коленке для одноразового использования, а другое дело писать код для какого либо продукта которым будут пользоваться другие. С годами вырабатывается некий стиль написание кода.. и если ты привык писать говнокод(пусть и для себя), то никогда не напишешь нормальный код даже за деньги.. привычка-вторая натура. Приучай себя сразу писать красивый код..
Во вторых, если этот способ юзали в VB6 (что есть криво само по себе), то это совсем не значит что его надо юзать в NET и вот почему.. Есть такая пословица: Программист, умеющий хорошо писать на С++, сможет писать на любом языке.... так же хорошо, как и на С++. Применительно к тебе это можно перефразировать: VBD, умеющий писать говнокод на VB6, сможет писать на любом языке.... такой же говнокод.. Смекаешь?
Так вот.. идеология NET, это, в первую очередь, ООП.. а одной из основ ООП является наследование.. Используя On error resume next ты давишь исключение.. и я, как наследник твоего класса, выше по стеку никогда не узнаю что у тебя там было исключение и не смогу на него как то отреагировать.. Если ты используешь эту хрень в своем коде, используй.. - это твое дело.. никто тебя переучивать не собирается, но не надо об этом кричать на каждом углу (с гордым видом) что ты это заюзал 1909 раз и тем более никогда не стоит давать подобных советов по его использоватнию.. Если пытаешься учить людей,так учи это делать правильно..
В третьих, если ты запускал бенчмарк Artyomа, то не мог не заметить, что простая проверка выполняется в тысячи раз быстрее пресловутого On error resume next. Согласисиь, что использование проверки If WindowState = vbMinimized Then Exit Sub в коде выглядит куда более уместно и эстетичнее того, что написал ты..

Ответить

Номер ответа: 30
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #30 Добавлено: 13.09.10 15:04
*ROFL*

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам