Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 - [методическое пособие] - Интеграция решений...doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
237.57 Кб
Скачать
  1. Введение. Отражает основные результаты, полученные на этапе анализа. Определяются объекты автоматизации и границы разрабатываемой системы. Формулируется цель и назначение.

  2. Технический проект. Содержит результаты, полученные на этапе анализа: описание предметной области, математическую модель задачи (формальное представление критериев поиска и сортировки). Отражает основные результаты, полученные на этапе проектирования: приводятся и описываются разработанные модели (диаграмма классов) и алгоритмы реализуемой системы (блок-схема); описываются требования к информационному и техническому обеспечению. Модели и диаграммы приводятся в нотации UML.

  3. Рабочий проект. Отражает результаты, полученные на этапе реализации.

  4. Программа и методика испытаний. Приводится полный набор тестов для проверки системы, а также примеры выполнения тестов с результатами работы.

  5. Заключение. Излагаются основные результаты выполненной работы.

  6. Литература.

4Требования к оформлению программного кода

При оформлении исходного кода программы следует придерживаться приведенных ниже правил.

Файлы.

Заголовочные файлы должны иметь расширение .h, файлы с исходным текстом на С++ .срр.

В общем случае заголовочный файл должен содержать объявление одного класса. Возможно объявление нескольких вспомогательных классов. Вспомогательные классы, как правило, элементарны и имеют гораздо меньший размер, чем основные. Файл .cpp должен совпадать по имени с заголовочным файлом и содержать определение объявленных в .h классов.

Правила именования файлов совпадают с правилами формирования идентификаторов

Все включаемые директивой #include файлы должны находиться в начале файла Включаемые файлы должны быть отсортированы и сгруппированы. Сортировка производится от низкоуровневых к высокоуровневым файлам.

Стили применения регистра букв при именовании идентификаторов

  1. Pascal (Паскаль) – указание этого стиля оформления идентификатора обозначает, что первая буква заглавная и все последующие первые буквы слов тоже заглавные. Например, BackColor, LastModified, DateTime.

  2. Camel (Кэмел) – указание этого стиля обозначает, что первая буква строчная, а остальные первые буквы слов заглавные. Например, borderColor, accessTime, templateName.

Именование идентификаторов

Предпочтительно использовать имена, которые ясно и четко описывают предназначение и/или смысл сущности. Имена идентификаторов следует делать как можно короче (но не в ущерб читабельности).

Современные языки позволяют формировать имя из пространств имен и типов. Главное, чтобы смысл идентификатора был понятен в используемом контексте. Например, количество элементов коллекции лучше назвать Count, а не CountOfElementsInMyCollection.

Не допускается использование подчеркивания для отделения слов внутри идентификаторов, это удлиняет идентификаторы и затрудняет чтение.

Не допускается использование аббревиатур или неполных слов в идентификаторах, если только они не являются общепринятыми.

Не допускается использование акронимов, если они не общеприняты в области информационных технологий.

Широко распространенные акронимы используйте для замены длинных фраз. Например, UI вместо User Interface или Olap вместо On-line Analytical Processing.

Имена длиннее двух букв записываются в стиле Pascal или Camel.

Для именования пользовательских типов данных (перечислений, структур, классов и т.д.) используется нотация Pascal.

В именах типов не предполагается использовать никаких префиксов.

Открытые переменные члены класса или структуры, а также отрытые и закрытые свойства и методы класса или структуры именуются с использованием нотации Pascal без префиксов.

Для имен функций и методов класса используются глаголы или комбинацию глагола и существительных и прилагательных.

Недопустимо наличие открытых переменных-членов класса.

Закрытые переменные-члены именуются с использованием нотации Camel и начинаются с префикса «_» (нижнее подчеркивание).

Локальные переменные именуются с использованием нотации Camel.

Параметры функции считаются ее локальными переменными и именуются соответственно.

Запрещено использовать «magic values» (неименованные константы).

Для счетчиков цикла закреплены имена i, j, k, l, n, m. Запрещено применять эти имена в другом контексте. Без крайней необходимости запрещено использовать в качестве счетчиков переменные с другими названиями.

Стиль кода

Каждая инструкция должна располагаться на отдельной строке.

Операторы должны отделяться пробелом от операндов с обеих сторон.

После запятой должен быть пробел.

После точки с запятой, если она не последняя в строке (напр. в инструкции for), должен быть пробел.

Перед запятой или точкой с запятой пробелы не ставятся.

После ключевого слова (напр. if, while, for) перед открывающей круглой скобкой (если она есть) должен быть пробел.

Составные инструкции оформляются открывающей фигурной скобкой на отдельной строке, списком инструкций, сдвинутым на одну табуляцию, и закрывающей фигурной скобкой на отдельной строке (стиль Олмэна).

В коде не должно встречаться более 3 вложенных циклов. Более глубокая вложенность оформляется с помощью выделения функций.

Пример оформления if-else:

if (condition)

{

DoSomething();

}

else if (condition)

{

DoSomethingOther();

}

else

{

DoSomethingOtherAgain();

}

Пример оформления switch

switch (condition)

{

case 1:

x = ...;

break;

case 2:

x = ...;

break;

case 3:

x = ...;

break;

default:

x = ...;

break;

}

Пример оформления for:

for (int i = 0; i < 5; i++)

{

DoSomething();

}