Excel-VBA:Имена переменных, венгерская нотация и лучшие практики именования переменных

StackOverflow https://stackoverflow.com/questions/1510290

Вопрос

Когда я программирую в Excel-VBA, я использую венгерскую систему обозначений.Переменные рабочего листа начинаются с ws, переменные рабочей книги начинаются с wb и т. д.

Когда я использую целые числа, я всегда использую длинные значения, потому что в прошлом я превышал максимальное значение целого числа, и поиск ошибки занимает некоторое время — проще просто сделать все длинным, чем пытаться разобраться если когда-либо возможно, чтобы значение переменной превысило 32768.

Можно ли обозначать эти переменные с помощью i вместо l, поскольку я использую их как целые числа, т.е.:

dim iStart as long, iEnd as long

вместо

dim lStart as long, lEnd as long

Когда переменная содержит количество чего-либо, я обозначаю ее буквой n, даже если она содержит длинное значение.

dim nObjects as long, nPlots as long

Каков ваш опыт относительно того, какие обозначения облегчают чтение VBA?

Это было полезно?

Решение

Не совсем.Быть последовательным.Документ.Если ваша команда растет, подумайте о своих коллегах-разработчиках.

Другие советы

Венгерский язык лучше использовать для отражения значения переменной, чем ее типа.Например, если в вашей программе есть несколько весов, а не dblWeightGold, dblWeightSilver и т. д.просто назовите их wgtGold, wgtSilver.

В мире с проверкой типов не так важно указывать фундаментальный тип в имени переменной.Я больше не подписываю свои переменные таким образом, и я делать работа в ВБА.

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

Я всегда добавляю intVar2, intVar3 или lngVar4, txtMyTextBox, lblMyLabel и т. д.

intVar1
intVar2
lngVar1
txtMyTextbox
lblMyLabel
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top