Тексты процедур обязательно должны сопровождаться подробными комментариями
Назначение
Для организации процесса корпоративной разработки должны использоваться технологические стандарты. Данный документ содержит описание требований к написанию серверного исходного кода продуктов и модулей FA#.
Термины и определения, сокращения, обозначения и толкования
Термины и определения, используемые в настоящем документе, приведены в Таблице 1.
Сокращения, используемые в настоящем Документе, приведены в Таблице 2.
Обозначения и толкования, используемые в настоящем Документе, приведены в Таблице 3.
Таблица 1 Термины и определения
Термин | Определение |
Таблица 2 Сокращения
Термин | Определение |
Таблица 3 Обозначения и толкование
Обозначение | Толкование |
Категорически запрещается | Использование конструкции является ошибкой 1-го приоритета |
В обязательном порядке | Использование конструкции является обязательным. Отсутствие является ошибкой 1-го приоритета. |
Неправильно, запрещается | Использование конструкции является ошибкой 2-го приоритета |
Крайне не рекомендуется | Использование конструкции может привести к снижению эффективности выполнения кода, например к снижению производительности. Ошибка 3-го приоритета. |
Не рекомендуется | Использование конструкции допустимо, но следует избегать подобного написания. Ошибка 4-го приоритета. |
Общие положения и область применения
В данном документе регламентируются требования к написанию программистами исходного кода SQL в разрабатываемых ими приложениях. Цель данного документа – регламентация единого стиля написания серверных исходных текстов приложений, разрабатываемых на Transact SQL, что позволяет:
· Снизить количество ошибок в продуктах и модулях.
· Проводить инспекцию исходных текстов относительно данных стандартов.
· В короткие сроки передавать разработанные приложения от одного программиста другому или, например, новому.
За соблюдение требований данного документа ответственными являются руководители отделов и групп разработки.
Описание
Общие положения
Исходный текст процедур должен правильно работать для двух платформ MS SQL и Sybase. Запрещается выкладывать в релиз код, неработоспособный хотя бы на одной из поддерживаемых платформ СУБД.
В редакторах, используемых для написания SQL-процедур, должны быть отключена функция подавления пробелов (truncate spaces для MultiEdit).
4.1.3 Категорически запрещается использование символов табуляции (Ascii-9).
Исходный текст процедур должен быть написан в OEM-кодировке.
Исходный текст процедур должен начинаться с первой позиции в строке.
Исходный текст реализации процедур должен начинаться с третьей позиции в строке (стандартный отступ - 2 символа). Операторы внутри логических структур типа while, if и т.д. должны сдвигаться на 2 символа вправо каждая последующая
Все ключевые слова, пишутся маленькими (строчными) буквами
Все создаваемые и используемые в процессе разработки константы должны записываться большими (прописными) буквами. Константы должны размещаться либо в специальных h-файлах, либо в начале файла скрипта, в котором она используется.
Пример.
Правильно | Неправильно |
select @Lines = PAGE_LINES, @Columns = PAGE_COLUMNS | select @Lines = PAGE_Lines, @Columns = PAGE_Columns |
4.1.9 При написании констант допускается использование символа подчеркивания: “_”.
Запрещается удалять и изменять наименование констант. В исключительных случаях допускаются эти действия сотрудником с руководителем Отдела(группы) разработки.
Тексты процедур обязательно должны сопровождаться подробными комментариями
4.1.12 При использовании оператора присваивания в математических выражениях, а также при работе с некоторыми идентификаторами необходимо оставлять пробелы до и после оператора “присваивание”.
Пример.
Правильно | Неправильно |
select @Variable = Value | select @Variable=Value |
При написании сразу нескольких операторов присваивания необходимо левую часть данных выражений располагать с одной и той же колонки, правую часть вместе с оператором равно также необходимо располагать с одной и той же колонки
Пример.
Правильно | Неправильно |
select @Variable = Value, @Another = AnotherValue, @AccountID = AccountValue | select @Variable = Value, @Another = AnotherValue, @AccountID = AccountValue |
4.1.14 При написании вызовов процедур или функций не рекомендуется вставлять пробелы между наименованием процедуры или функции и открывающей скобкой, между открывающей скобкой и первым параметром, между закрывающей скобкой и последним параметром.
Пример.
Правильно | Не рекомендуется |
select @V = isnull(@Par, 0) | select @V = isnull ( @Par, 0 ) |
4.1.15 При написании исходного кода категорически запрещается оставлять исходный код, помеченный как комментарий, а также комментарии, оформленные не по стандартам. Подобный код является очень трудно читаемым (“грязный” код), поэтому разработчики, замеченные в нарушении данного требования, будут классифицироваться как злостные нарушители стандартов написания исходного кода, что за собой влечет соответствующие административные взыскания.