Skip to content

george007361/TP2022-C-CPP-Homework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

TP2022-C-CPP-Homework

For C/Cpp Hw

Домашнее задание №1: ИЗ №1 До 19 марта, 09:00 (осталось 11 дней)Максимум 5 балловКритерии К РК №1 необходимо индивидуально решить ИЗ №1 по программированию на языке С в соответствии с назначенным вариантом, а также разбиться на команды, продумать идею семестровых проектов, разбить их на задачи и поделить их между участниками команды.

ИЗ1 посвящено приобретению навыков безопасной работы с памятью на языке C с использованием базовых структур данных и налаживания базовой инфраструктуры для автоматической проверки кода. В качестве результата ИЗ1 ожидается:

  • грамотное разбиение проекта на файлы;
  • использование безопасного стиля программирования - проверка возможных ошибок, корректное завершение программы в случае их возникновения и правильная работа с памятью;
  • максимальное покрытие кода юнит-тестами;
  • рабочий CI, включающий в себя автоматическую сборку проекта, статический и динамический анализ кода, прохождение линтеров и форматтеров, запуск юнит-тестов под valgrind и санитайзерами, и получение отчёта о покрытии кода тестами
  • все автоматические проверки должны проходить на итоговой версии, которая проходит ревью Вариант #25 Создать структуру для хранения информации о посетителях ресторана: номере столика, имени, сумме счета. Составить с ее использованием программу вывода информации обо всех клиентах с группировкой по номерам столиков.

Требования к оформлению: Программа должна быть реализована на языке C и работать для произвольных наборов входных данных (в том числе и ошибочных), вводимых пользователем с клавиатуры. Должна быть выполнена грамотная декомпозиция на функции и файлы. Помимо самой программы необходимо: – разработать набор юнит-тестов, проверяющих корректную работу реализованных функций. Обеспечить максимальное покрытие исходного кода тестами; – оформить задачу в виде Merge Request отдельной ветки в основную ветку проекта. Внимание: в основной ветке проекта никакого кода быть не должно! – развернуть CI, в рамках которого автоматизировать сборку проекта, прохождение юнит-тестов под valgrind, генерацию отчёта о покрытии кода тестами, линтера и статического анализатора исходного кода; – после прохождения всех проверок необходимо отправить код на ревью своему преподавателю; – ревью - процесс итерационный. До наступления дедлайна можно проходить несколько итераций, улучшая свою оценку. Решения после дедлайна не принимаются;

About

For C/Cpp Hw

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published