
- •21. Назначение и способы поддержки стандартов наименования объектов при разработке информационных систем. Венгерская нотация. Контроль стандартов наименования объектов в er-win.
- •Основные конструкции языка sql (ddl, dml, dcl, ccl, tcl).
- •Цели и задачи, поставленные при разработке реляционных субд (Проект r-System).
- •Понятие транзакции. Протокол двухфазной блокировки. Критерий правильности выполнения транзакций.
- •Свойства транзакций.
- •Проблемы параллельного выполнения транзакции. Виды блокировок. Уровни изолированности транзакций.
- •Проблема сериализации транзакций, синхронизационные захваты. Матрица совместимости блокировок.
- •Тупики, способы их распознавания и разрушения.
- •Статистики реляционной базы данных.
- •Оптимизация запросов к бд. Основные положения оптимизации запросов. Типовые подходы к оптимизации запросов к бд.
21. Назначение и способы поддержки стандартов наименования объектов при разработке информационных систем. Венгерская нотация. Контроль стандартов наименования объектов в er-win.
Венге́рская нота́ция — соглашение об именовании переменных, констант и прочих идентификаторов в программном коде.
Karoly Simonyi
Соглашения о наименовании объектов делает программы более понятными.
Правило: имена идентификаторов предваряются заранее оговорёнными префиксами, состоящими из одного или нескольких символов.
Имена объектов должны содержать префикс, описывающий тип данных или способ использования.
Факторы, определяющие соглашения об идентификаторах в программах
Мнемоническое значение: ид-р должен легко запоминаться.
Смысловое значение: роль ид-ра. должна быть ясна из его названия
Преемственность: похожие объекты должны иметь похожие ид-ры.
Скорость решения: придумывание, ввод и редактирование ид-ра не должно занимать слишком много времени.
Пример
Пример стандарта наименования
{<префикс>} <базовый тип> <спецификатор>
achCursorPosition
aiwnItem – индекс массива окон
Преимущества
Если встроенного механизма типизации не хватает, венгерская нотация позволяет записывать подтип переменной — например, int cPrice
Венгерская нотация удобна для написания больших программ в неполнофункциональных (по современным меркам) редакторах без автоматизированной навигации по тексту.
Удобно при именовании объектов, для которых тип очевиден — например, кнопку «OK» можно назвать btnOk.
Две переменные разного типа, но объединённые логически, могут иметь имена, отличающиеся лишь префиксом. Например, поле ввода для поиска и кнопка «Поиск» могут именоваться как txtSearch и btnSearch.
Недостатки
Некоторые программисты считают, что использование префиксов делает имена переменных менее понятными и, таким образом, ухудшает читаемость кода.
Если известно имя переменной без префиксов, подчас трудно восстановить её префиксы.
Система автодокументации, если она не понимает системы префиксов, отсортирует алфавитный список по префиксу, что может отрицательно сказаться на качестве документации. Хотя, имена функций обычно префиксами не снабжают.
Запись нескольких префиксов из-за частого использования заглавных букв и знаков подчёркивания может стать «пляской на кнопке Shift».
Средства навигации, которые включены в современные редакторы кода, и так позволяют видеть тип любой переменной и быстро переходить к точке, где она определена — то есть, использование префиксов может быть избыточным.
При изменении типа потребуется изменять имя переменной (большинство программистских редакторов не могут делать это автоматически).
Существуют и другие средства задания типа переменной в её имени: например, слова is, has и т. д. для булевского типа (IsLoggedIn), count для счётчика (RefCount), множественное число для массива (UserIds).
Стандарт оформления программного кода
Способы выбора названий и используемый регистр символов для имён переменных и других идентификаторов:
Запись типа переменной в её идентификаторе (венгерская нотация);
Регистр символов (нижний, верхний, «верблюжий» - CamelCase, UpperCamelCase, «верблюжий» с малой буквы - lowerCamelCase), использование знаков подчёркивания для разделения слов;
Стиль отступов при оформлении логических блоков — используются ли символы табуляции, ширина отступа;
Способ расстановки скобок, ограничивающих логические блоки;
Использование пробелов при оформлении логических и арифметических выражений;
Стиль комментариев и использование документирующих комментариев.
- Зависит от используемого языка программирования.
Стандарты наименования объектов ER-модели
Последовательность применения набора инструментов ER-win для разработки и контроля стандартов наименования объектов.
Создание стандарта наименования объектов (глоссария имен и правил наименования объектов) Tools\Names\Edit Naming Standart
Выбор и установка текущего стандарта модели
Проверка имени объектов модели на основе стандарта.
<имя объекта>:=[<основа>] [<квалификатор>] [<класс>]
<object name> :=[<prime>] [<modifiers>] [<class>]