Типичные ошибки и рекомендации к программам на Python в курсе "парадигмы программирования"

Материал из SEWiki
Версия от 14:02, 30 сентября 2014; Eabatalov (обсуждение | вклад) (Рекомендации)

Перейти к: навигация, поиск

Типичные ошибки

Наличие хотя бы одной типичной ошибки в программе дает право преподавателю считать работу не выполненой.

Список:

  1. Наличие синтаксических ошибок - используются конструкции, несуществующие в языке
  2. Код написан для Python 2.x (используйте 3.x)
  3. Использование счетчика в цикле, когда достаточно итерации по элементам. Пример for i in range(len(lst)) вместо for lst_elem in lst
  4. Смена мест аргументов командной строки приводит к некорректной работе программы. Пример: python reverse_file.py --if c:\in.txt --of c:\out.txt и python reverse_file.py --of c:\out.txt --if c:\in.txt - должны работать одинаково. Если в задании уже реализована работа с аргументами командной строки, то ошибкой не является
  5. Открытие файлов (open(path, mode)) с излишним mode - не открывайте файл на чтение и запись, если достаточно только для чтения
  6. Не закрытие файла (функция close() у переменной файла) после завершения работы с ним
  7. Имена переменных, не говорящие об их использовании в программе. Пример: вместо переменной f для входного файла, используйте input_file
  8. Имена функций, не говорящие о том, что они делают. (пример: вместо названия функции, переворачивающей строку, fun1 используем название reverse_str)
  9. Все данные, необходимые для работы функции, должны передаваться ей в виде параметров. Если все-так используете глобальные переменные, то необходимость использования глобальных переменных нужно доказать при помощи комментария (#) возле определения глобальной переменной.
  10. В коде программы не должно быть более 2х скопированных (одинаковых) строк кода. Выносите одинаковые строчки в отдельные функции. Если все же оставляете скопированными, то напишите комментарий почему вы так делаете.

Рекомендации

Не являются обязательными.

  1. Старайтесь разные части функциональности программы выносить в отдельные функции, а не писать код, который выполняет сразу всю работу. Пример: отдельная функция для переворачивания строки, принимающия на вход строку, которую нужно перевернуть, и возвращающая перевернутую строку.
  2. Можно вместе с решением прислать один из файлов, на котором вы тестировали. Это поможет помочь проще решить спорные ситуации, если они возникнут.
  3. Не используйте имена переменных и функций, совпадающие с именами стандартных функций и т.п. Python3. Пример: list, set, dict. Проверить является ли имя стандартным можно набрав его в python -i (интерактивные режим >>>). Если Python пишет ошибку, то имя не является стандартным.