Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 23, 2019 21:53:03

Rudey
Зарегистрирован: 2019-02-17
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Пожалуйста, оцените программу

Здравствуйте, я написал программу которая конвертирует физические величины, т.к конвертеров несколько, разбил программу на модули, есть три модуля и главный файл(main.py). Также постарался исключить все ошибки которые могли-бы возникнуть. Чтобы программа корректно работала нужно скачать все файлы и поместить в одну папку, далее запустить main.py. Интересно посмотреть на оценку других людей. Дайте оценку коду, логике программы и т.д Архив с программой прикрепляю.
Заранее спасибо!
P.S Может тема на форуме не совсем подходящая, но уж простите.

Отредактировано Rudey (Дек. 23, 2019 21:54:19)

Прикреплённый файлы:
attachment Converter.rar (5,2 KБ)

Офлайн

#2 Дек. 24, 2019 08:27:19

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

Пожалуйста, оцените программу

Rudey
разбил программу на модули, есть три модуля и главный файл(main.py).
Разбил неправильно. Всё меню должно быть в одном модуле. Функции конвертации должны быть в другом модуле. Функции конвертации не должны ничего вводить или выводить (должны быть чистыми функциями). В функцию конвертации подаётся одно значение, а возвращается из неё новое значение.

Например:
Есть модуль math в питоне, а в нём есть функция sin(). В функцию math.sin() мы подаём значение x, а она в ответ на это возвращает значение синуса в этой точке. Функция ничего не вводит с экрана и ничего не выводит на экран. Она используется только для правильного отображения входного значения в выходное.

Вот так же и у тебя должно быть.


Rudey
Также постарался исключить все ошибки которые могли-бы возникнуть.
Везде есть лишняя строчка
  
float(value)
Исключение и так возникнет, так как выше результат функции input() уже преобразуется во float(). Соответственно, этой второй строчкой ты делаешь float(float()) и она никогда не даст исключения, поэтому она лишняя.

Rudey
Чтобы программа корректно работала нужно скачать все файлы и поместить в одну папку, далее запустить main.py.
Да, вот у тебя как раз не хватает документации для пользователей программы. Поэтому тебе и приходится объяснять на форуме, как её запустить на выполнение. В реале же все эти твои объяснения должны распространяться вместе с программой в её дистрибутиве. Сделай файл README в проекте и пиши туда информацию для пользователей и как им запустить твою программу. Когда пользователь скачает твой архив, он откроет файл README и всё узнает оттуда.

Rudey
Дайте оценку коду, логике программы
Код чистый.

Логика размазана по программе. Чуть что нужно будет изменить в программе и тебе придётся заново писать всю программу. Нужно изолировать логику в программе и распределять ответственность за разные задачи по разным функциям в коде.

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

Нужно вводить неконвертированные значения от пользователя с помощью первой функции.
Нужно конвертировать введённые неконвертированные значения с помощью второй функции.
Нужно выводить на экран конвертированные значения с помощью третьей функции.
Нужно ввести неконвертированные значения, передать введённые неконвертированные значения на конвертацию, передать конвертированные значения на вывод с помощью четвёртой функции.



Офлайн

#3 Дек. 24, 2019 09:31:39

Rudey
Зарегистрирован: 2019-02-17
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Пожалуйста, оцените программу

Спасибо за критику, буду переделовать

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version