Как вы предпочитаете, чтобы функции не работали в python - PullRequest
0 голосов
/ 29 мая 2020

В настоящее время я пишу руководство по стилю для программистов и просто задаюсь вопросом, как вы предпочитаете, чтобы функции терпели неудачу.

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

Если функция:

  • Вернуть пустую строку
  • Вернуть False
  • Возвращает постоянную строку «сбой»
  • Вызывает исключение, которое вызывающий может уловить при попытке

Я вижу комбинацию всего этого и как программист задался вопросом, что вы предпочитаете видеть при использовании библиотеки.

(Я предпочитаю 2, поэтому вы можете использовать

thing=getsomething(thing_to_get)
if thing:
  #deal with thing
else:
  #deal with missing thing

)

1 Ответ

0 голосов
/ 29 мая 2020

Это зависит от вашей программы, но в большинстве случаев лучше отправить сообщение пользователю и сообщить ему, почему программа не может быть выполнена. например, если пользователь должен предоставить какой-либо входной аргумент, но он этого не сделал, вы можете распечатать сообщение и помочь пользователю правильно запустить программу.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...