Сегодняшние процессоры развиваются все быстрее и быстрее, начиная с 386 и 486 и заканчивая сегодняшними Pentium и Pentium II, скорость разработки можно назвать очень высокой. Однако с быстрым развитием процессоров «вес» прикладного программного обеспечения также резко возрос с нескольких К или десятков К, когда я изучал компьютеры, до десятков или сотен мегабайт сегодня, это изменение коснулось даже меня. Все были удивлены. Развитие процессоров заставило людей работать быстрее и значительно повысило эффективность. В то же время у людей развилась плохая привычка «не искать простоты». Автор однажды увидел, как друг пишет программу на VBA. Код программы следующий:
Сактивевиндов
IfWindowState=wdWindowStateMaximizeThen'это первая часть!
MsgBox"ThisisaMaximizeWindow"
КонецЕсли
IfWindowState=wdWindowStateMinimizeТогда это вторая часть!
MsgBox"HereisaСвернуть окно"
КонецЕсли
ЕслиWindowState=wdWindowStateNormalТогда это третья часть!
MsgBox"Нигде, это обычное окно!"
КонецЕсли
КонецС
На первый взгляд кажется, что структура довольно красивая и программа хорошая. Но если вы внимательно проанализируете это, вы обнаружите, что эта процедура является неудачной. Потому что эти три программы не реализуют ту логическую структуру, которую они должны иметь. Я рассказал об этом мнении этому другу, и он очень внимательно выслушал и сразу же изменил приведенную выше программу. Конкретный код программы выглядит следующим образом: WithActiveWindow.
IfWindowState=wdWindowStateMaximizeThen'это первая часть!
MsgBox"ThisisaMaximizeWindow"
ElseIfWindowState=wdWindowStateMinimizeThen'это вторая часть!
MsgBox"HereisaСвернуть окно"
ElseIfWindowState=wdWindowStateNormalThen'это третья часть!
MsgBox"Нигде, это обычное окно!"
КонецЕсли
Конец
После того, как мой друг закончил писать эту программу, он улыбнулся мне и сказал: «Как дела?» Я посмотрел на эту программу и подумал: если WindowState не равен wdWindowStateMaximize, то мне придется судить, равен ли WindowState wdWindowStateMinimize. , что если оно еще не равно? Затем вам придется продолжать оценивать, равен ли он wdWindowStateNormal. На этом этапе вам нужно прорваться через три «двери», прежде чем вы сможете войти. Вы устали? Я потерял терпение и сам написал программу:
SelectCaseWindowState
CasewdWindowStateMaximize'это первая часть!
MsgBox"ThisisaMaximizeWindow"
CasewdWindowStateMinimize'это вторая часть!
MsgBox"HereisaСвернуть окно"
CasewdWindowStateNormal' это третья часть!
MsgBox"Нигде, это обычное окно!"
КонецВыбрать
Как видите, эта программа краткая, простая для понимания и легко читаемая. Я считаю, что она добавит ей красок. А отладив его, вы обнаружите и другие его преимущества. Неудивительно, что мой друг вдруг это понял!
Фактически, существуют правила, которым следует следовать в отношении того, какое суждение использовать. Например: если есть две возможности, то вы можете без колебаний выбрать If/Elseif; для двух и более возможностей лучше всего выбрать SelectCase/EndSelect; В большинстве случаев, если существует только одно необязательное отношение, лучшим выбором будет «ifthen/endif». ->