Не используйте операторы в несколько строк

We use cookies. Read the Privacy and Cookie Policy

Не используйте операторы в несколько строк

Хотя операторы в несколько строк и предпочтительнее длинных операторов в одну строку, не умещающихся в рамках окна программного кода, первые тоже нельзя назвать идеальными. Если VBA и не испытывает неудобств при обработке таких строк, то большинство людей воспринимают операторы в несколько строк как дополнительный источник путаницы.

Если окно программного кода не совсем уж микроскопическое, практически всегда можно разделить длинный оператор на несколько достаточно коротких, в совокупности выполняющих ту же работу, что и исходный. Возможно, для этого потребуется создать несколько дополнительных переменных, в которых будут храниться результаты промежуточных вычислений, но это не слишком большая цена за достижение лучшей прозрачности программного кода. Например, предыдущий пример программного кода можно переписать так:

sngTempl = Sqr(intMyTinyNumber + intMyBigNumber)

sngTemp2 = 12 * 57.5 / sngTempl

sngTemp3 = CustomDataMassage(sngRawInfo, 12)

sngTeinp4 = bytFirstTuesdaylnAugust * curLastPayCheck

sngWackyNumber = Cos(sngTemp2 + sngTemp3 + sngTemp4 + 1)

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

(Подробно приемы пошагового выполнения программного кода разбираются в главе 9.)