Тексты процедур обязательно должны сопровождаться подробными комментариями

Назначение

Для организации процесса корпоративной разработки должны использоваться технологические стандарты. Данный документ содержит описание требований к написанию серверного исходного кода продуктов и модулей 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 При написании исходного кода категорически запрещается оставлять исходный код, помеченный как комментарий, а также комментарии, оформленные не по стандартам. Подобный код является очень трудно читаемым (“грязный” код), поэтому разработчики, замеченные в нарушении данного требования, будут классифицироваться как злостные нарушители стандартов написания исходного кода, что за собой влечет соответствующие административные взыскания.