Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 2, 2019 19:27:24

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

Дайте оценку моей программы-виселицы

Добрый день форумчане!

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

Вот я “запилил” простенькую игру виселицу на чистом коде. Какие ошибки в оформлении я допустил, и что можно в ней убрать и изменить? Спасибо!

Прикреплённый файлы:
attachment Виселица.zip (1,3 KБ)

Офлайн

#2 Июнь 3, 2019 02:21:37

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

Дайте оценку моей программы-виселицы

В общем, алгритм работает исправно. Архитектура кода сделана заносчиво. Основ не знаешь, но уже лезешь в высокие материи. Надо убрать классы и написать всё без классов. Модули питона должны называться общепринятым образом - английские буквы, цифры и подчёркивания. Файлы программы в питоне все являются модулями, они предназначены для импортирования их. То есть для каждого файла должен соблюдаться набор правил его построения как самостоятельного модуля.

Дальше, когда ты как будто уже написал всё без классов, рассмотрим архитектуру получившегося кода. Код должен быть написан в структурной парадигме. Должна быть применена разработка “сверху вниз”, должны быть подпрограммы везде. Иначе чуть-чуть что-нибудь потребуется изменить или вылезет где-нибудь неожиданный баг, его необходимое исправление может вовлечь в себя воздействие на другие части кода в пределах той же функции. То есть когда у тебя код скопом, ну якобы ты его и так понимаешь и меньше работы и всё перед глазами, то исправлять его части очень сложно, так как в монолитном коде начинают появляться связи между его участками. Ты, например, поменял какой-то цикл, потому что он неправильно проходил, но потом вдруг узнал, что этот цикл был привязан к каким-то переменным по соседству и они вдруг стали сохранять неправильные значения из-за нового изменения. А то, что цикл и эти переменные были связаны каким-то эффектом, ты когда-то помнил, но уже давно забыл. И таких моментов при росте программы будет просто дофига. Наступит тот день, когда ты не будешь помнить содержимое своей программы из-за её выросшего размера. А потом наступит тот день, когда ты не только помнить содержимое не будешь, но когда ты её и перечитать не сможешь физически, потому что это будет огромный проект на несколько мегабайт исходников. А при этом программу делать дальше надо, у тебя нет времени её читать, у тебя есть только время её писать дальше. Поэтому писать программу нужно так, чтобы в будущем для её дальнейшей разработки её не нужно было перечитывать всю.



Отредактировано py.user.next (Июнь 3, 2019 02:24:11)

Офлайн

#3 Июнь 3, 2019 10:54:38

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2849
Репутация: +  186  -
Профиль   Отправить e-mail  

Дайте оценку моей программы-виселицы

Код повеселил.
P.S. Откуда у тебя суицидальные наклонность? Ты с синем китом не связан?



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#4 Июнь 4, 2019 23:50:37

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

Дайте оценку моей программы-виселицы

Добрый вечер Форумчане.

Огромное спасибо за критику, особенно py.user.next за разбор полетов. Видно Классы для этой мини игры перебор, поэтому я ее немного переработал и постарался оформить как подобает. Спасибо!

Прикреплённый файлы:
attachment Виселица 1.5.zip (1,4 KБ)

Офлайн

#5 Июнь 5, 2019 00:01:25

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

Дайте оценку моей программы-виселицы

Rodegast
Код повеселил. P.S. Откуда у тебя суицидальные наклонность? Ты с синем китом не связан?
Неа не связан) Просто простая игра, для отработки начальных навыков. Вот хочу игру Поле чудес замутить со своим барабаном и бабками с гостинцами)

Офлайн

#6 Июнь 5, 2019 03:48:54

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

Дайте оценку моей программы-виселицы

Dima-python
поэтому я ее немного переработал и постарался оформить как подобает
Нормально. Дальше нужно много монолитного кода превратить в несколько функций и вызывать их. Одна функция должна занимать примерно не более 25 строк кода, чтобы она полностью обозревалась без промоток в редакторе и без гуляния глазами по ней вверх и вниз.



Офлайн

#7 Июнь 5, 2019 21:41:11

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

Дайте оценку моей программы-виселицы

py.user.next
То есть надо еще доработать. Хорошо тогда этим я займусь. Спасибо!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version