Критерии оценки студенческих программ
(перенаправлено с «Teaching/soft req.html»)
- Оформление программы:
- форматирование текста (отступы, пустые строки, горизонтальные пробелы), подробнее — см. «Как НУЖНО оформлять исходные тексты программ»;
- наличие комментариев;
- «говоряще» идентификаторы (имена функций, процедур, классов, объектов, переменных объясняют их значение).
- Алгоритм программы:
- правильность алгоритма (результат работы программы соответствует поставленной задаче);
- неизбыточность алгоритма (все элементы программы адекватны поставленной задаче: нет циклов, массивов и т. п. элементов, без которых можно обойтись);
- модульность алгоритма (для функционального стиля программирования — адекватное разбиение на подпрограммы/функции/процедуры, для объектно-ориентированного — адекватная иерархия классов);
- аккуратное использование памяти (работа с динамическими массивами, отсутствие неиспользуемых блоков памяти, «лишних» переменных);
- «защита от дурака» (проверяются диапазоны вводимых пользователем значений и параметров, передаваемых между модулями программы);
- конфигурируемость программы (выделение важных параметров программы в одном блоке, легкость настройки программы и расширения функциональности);
- интерфейс программы (адекватность: интерактивый vs. пакетный, GUI vs. CLI, понятность и удобство использования).