Восемь хороших привычек программирования VB
1. «&» заменяет «+»
2. Именование переменных должно быть чувствительным к регистру, операторы должны быть хорошо организованы, а исходный код должен поддерживаться.
3. Пожалуйста, выработайте следующие хорошие привычки в отношении «соглашения об именах объектов».
4. В случае простых условий выбора используйте функцию IIf().
5. Попробуйте использовать Debug.Print для отладки.
6. При неоднократном изменении свойств объекта попробуйте использовать With....EndWith.
7. Попробуйте использовать значки сообщений в MsgBox, чтобы программа была более стандартизирована.
8. Используйте перечисления там, где это возможно
1. «&» заменяет «+»
Во многих языках программирования «+» используется для соединения строк, что может легко привести к неоднозначности. Хорошей практикой является использование «&» для объединения строк.
Неверно:
DimsMessageAsString
sMessage="1"+"2"
правильный:
DimsMessageAsString
sMessage="1"&"2"
Примечание. После «&» ставится пробел.
2. Именование переменных должно быть чувствительным к регистру, операторы должны быть хорошо организованы, а исходный код должен поддерживаться.
Давайте сравним следующие два фрагмента кода:
Прочтите сложный код:
DimSNAMEAsString
DimNTURNAsInteger
ЕслиNTURN=0Тогда
IfSNAME="vbeden"Тогда
DoWhileNTURN<4
НТУРН=НТУРН+1
Петля
КонецЕсли
КонецЕсли
Легко читаемый код:
DimsNameAsString
DimnTurnAsInteger
ЕслиnTurn=0Тогда
IfsName="vbeden"Тогда
DoWhileTurn<4
nTurn=nTurn+1
Петля
КонецЕсли
КонецЕсли
[вернуться к индексу]
3. Пожалуйста, выработайте следующие хорошие привычки в отношении «соглашения об именах объектов».
Рекомендуемые префиксы управления
Пример префикса типа управления
3DPanelpnlpnlгруппа
ADODataadoadoБиблиотека
Анимированная кнопкаанианиПочтовый ящик
ФлажокchkchkReadOnly
Combobox,drop-downlistboxcbocboАнглийский
Командная кнопкаcmdcmdExit
CommondialogdlgdlgFileOpen
СвязьcomcomФакс
Элемент управления (используется в процедурах, когда конкретный тип неизвестен) ctrctrCurrent
ДатадатдатБиблиотека
Комбобокс с привязкой к даннымdbcbodbcboLanguage
Data-boundgriddbgrddbgrdQueryResult
Data-boundlistboxdblstdblstJobType
DatacombodbcdbcАвтор
DatagriddgddgdTitles
DatalistdbldblPublisher
Повторитель данныхdrpdrpМестоположение
ДатапикердтпдтпОпубликовано
DirectorylistboxdirdirИсточник
DrivelistboxdrvdrvTarget
FilelistboxfilfilSource
FlatscrollbarfsbfsbПереместить
ФормафрмфрмВход
FramefrafraЯзык
Статус Гаугегаугау
ГрафграграДоход
GridgrdgrdЦены
ИерархическийflexgridflexflexOrders
Горизонтальная полоса прокруткиhsbhsbVolume
ИзображениеimgimgIcon
ImagecomboimgcboimgcboПродукт
ИзображениеListilsilsВсеИконки
LabelllllblПомощьСообщение
Легкий флажокlwchklwchkАрхив
Легкий комбобоксlwcbolwcboНемецкий
Облегченная командная кнопкаlwcmdlwcmdRemove
LightweightframelwfralwfraСохранитьПараметры
Легкая горизонтальная полоса прокруткиlwhsblwhsbVolume
Легкий списокboxlwlstlwlstCostCenters
Облегченная кнопка выбораlwoptlwoptIncomeLevel
Легкий textboxlwtxtlwoptStreet
Легкая вертикальная полоса прокруткиlwvsblwvsbYear
LinelinlinВертикальный
ListboxlstlstPolicyCodes
ListViewlvwlvwЗаголовки
MAPImessagempmmpmSentMessage
MAPIsessionmpsmpsSession
MCImcimciВидео
МенюумнумнуФайлОткрыть
Просмотр месяцаmvwmvwПериод
MSChartchchSalesbyRegion
MSFlexgridmsgmsgклиенты
МСТАбмстмстфирст
OLEcontaineroleoleрабочий лист
OptionbuttonoptoptПол
PictureboxpicpicVGA
Панель инструментов Pictureclipclpclp
Прогрессбарпргпрглоадфиле
Удаленные данныеrdrdTitles
RichTextBoxrtfrtfReport
ШейпшпшпКруг
ПолзункиldsldScale
SpinspnspnPages
СтатусБарстастаДатаВремя
СисИнфосисисМонитор
TabStriptabtabOptions
ТекстбоксtxttxtLastName
ТаймертмртмрТревога
ToolbartlbtlbДействия
ДеревоViewtretreОрганизация
направление вверхвнизупдупд
Вертикальная полоса прокруткиvsbvsbRate
-------------------------------------------------- ----------------------------------
Рекомендуемые префиксы для объектов доступа к данным (DAO)
Используйте следующие префиксы для обозначения объектов доступа к данным.
Пример префикса объекта базы данных
ContainerconconReports
База данныхdbdbAccounts
DBEngineedbedbeJet
ДокументдокдокОтчет о продажах
ПолеfldfldАдрес
ГруппаgrpgrpФинансы
ИндексixidxAge
ПараметрprmprmJobCode
QueryDefqryqrySalesByRegion
RecordsetrecrecПрогноз
ОтношенияrelrelСотрудникОтдел
ТаблицаDeftbdtbdКлиенты
ПользовательrusrusrНовый
Рабочая областьwspwspШахта
-------------------------------------------------- ----------------------------------
Приложения часто используют множество элементов управления меню, и полезно иметь уникальный набор соглашений об именах для этих элементов управления. Помимо начального тега «mnu», префикс элемента управления меню должен быть расширен: для каждого уровня вложенности добавляется дополнительный префикс, помещающий окончательный заголовок меню в конец строки имени. В таблице ниже приведены некоторые примеры.
Рекомендуемые префиксы меню
Последовательность заголовков меню, имя обработчика меню
ФайлOpenmnuФайлОткрыть
FileSendEmailmnuFileSendEmail
FileSendFaxmnuFileSendFax
ФорматCharacternuFormatCharacter
HelpContentsmnuHelpContents
При использовании этого соглашения об именах все члены определенной группы меню перечисляются один за другим в окне свойств Visual Basic. Более того, имена элементов управления меню четко указывают на пункты меню, которым они принадлежат.
Выберите префикс для других элементов управления
Элементы управления, не перечисленные выше, должны быть стандартизированы с использованием уникального двух- или трехсимвольного префикса для обеспечения единообразия. Используйте префиксы длиной более трех символов только тогда, когда требуется пояснение.
Соглашения об именах констант и переменных
Помимо объектов, константы и переменные также требуют правильных соглашений об именах. В этом разделе перечислены рекомендуемые соглашения для констант и переменных, поддерживаемых Visual Basic. и обсуждаются вопросы идентификации типов и диапазонов данных.
Переменные всегда должны определяться в минимально возможной области видимости. Глобальные (публичные) переменные могут привести к чрезвычайно сложным структурам состояний и усложнить понимание логики приложения. Глобальные переменные также усложняют повторное использование и обслуживание кода.
Переменные в Visual Basic могут иметь следующие области действия.
Позиция объявления области видимая позиция
«Частный» в процедуре уровня процедуры, подпроцедуре или функциональной процедуре в процедуре, в которой он объявлен.
«Частная» форма в разделе объявлений формы уровня модуля или модуля кода (.frm, .bas) или каждой процедуры в модуле кода.
Везде в приложении Public в разделе объявлений модуля глобального кода (.bas)
В приложении Visual Basic используйте глобальные переменные только в том случае, если нет другого удобного способа обмена данными между формами. Если необходимо использовать глобальные переменные, объявите их в одном модуле и сгруппируйте по функциям. Дайте этому модулю осмысленное имя, указывающее его роль, например Public.bas.
Хорошей практикой кодирования является написание максимально модульного кода. Например, если ваше приложение отображает диалоговое окно, поместите все элементы управления и код, необходимые для создания диалогового окна, в одной форме. Это помогает организовать код приложения в полезные компоненты и сократить накладные расходы во время выполнения.
1 2Прочитайте полный текст на следующей странице.