Skip to content

Latest commit

 

History

History
12 lines (9 loc) · 2.56 KB

RULES.md

File metadata and controls

12 lines (9 loc) · 2.56 KB

Общие требования к программной реализации работ

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

Исходный код лабораторных работ размещать в репозитории Gitlab факультета ПИиКТ. Также необходимо следовать данным пунктам:

  1. «Нет» статичности. Все структуры данных должны допускать создание множества их экземпляров.
  2. «Нет» «магическим» константам. Все значения должны либо вычисляться из обрабатываемых программой данных, либо задаваться с помощью аргументов командной строки или конфигурационных файлов.
  3. «Нет» бесконечным циклам. Все циклы должны иметь понятные условия выхода: не допускается использовать, например, while (true), for (; ;) и т.д.
  4. «Нет» утечке ресурсов. Все ресурсы, которые были использованы в программе и требуют освобождения (закрытия), должны корректно освобождаться (закрываться) независимо от возникновения ошибочных ситуаций или исключений. Например, открытый файл должен быть закрыт после того, как он перестал использоваться в программе; аллоцированная вручную память обязательно должна освобождаться.
  5. «Нет» неожиданным завершениям программы. Все процессы, нити (threads) должны корректно завершаться в результате выполнения работы, а не прерываться функциями вида Abort/Exit.
  6. «Нет» побайтовому вводу-выводу. Все данные должны обрабатываться частями (блоками) известного размера, с учетом целесообразного размера буфера.