Форум сайта python.su
0
Добрый день форумчане!
Я вот потихоньку осваиваю язык программирования и хотел получить критику/советы по моему корявому коду. Я буду рад услышать любой комментарий а особенно совет.
Вот я “запилил” простенькую игру виселицу на чистом коде. Какие ошибки в оформлении я допустил, и что можно в ней убрать и изменить? Спасибо!
Прикреплённый файлы:
Виселица.zip (1,3 KБ)
Офлайн
857
В общем, алгритм работает исправно. Архитектура кода сделана заносчиво. Основ не знаешь, но уже лезешь в высокие материи. Надо убрать классы и написать всё без классов. Модули питона должны называться общепринятым образом - английские буквы, цифры и подчёркивания. Файлы программы в питоне все являются модулями, они предназначены для импортирования их. То есть для каждого файла должен соблюдаться набор правил его построения как самостоятельного модуля.
Дальше, когда ты как будто уже написал всё без классов, рассмотрим архитектуру получившегося кода. Код должен быть написан в структурной парадигме. Должна быть применена разработка “сверху вниз”, должны быть подпрограммы везде. Иначе чуть-чуть что-нибудь потребуется изменить или вылезет где-нибудь неожиданный баг, его необходимое исправление может вовлечь в себя воздействие на другие части кода в пределах той же функции. То есть когда у тебя код скопом, ну якобы ты его и так понимаешь и меньше работы и всё перед глазами, то исправлять его части очень сложно, так как в монолитном коде начинают появляться связи между его участками. Ты, например, поменял какой-то цикл, потому что он неправильно проходил, но потом вдруг узнал, что этот цикл был привязан к каким-то переменным по соседству и они вдруг стали сохранять неправильные значения из-за нового изменения. А то, что цикл и эти переменные были связаны каким-то эффектом, ты когда-то помнил, но уже давно забыл. И таких моментов при росте программы будет просто дофига. Наступит тот день, когда ты не будешь помнить содержимое своей программы из-за её выросшего размера. А потом наступит тот день, когда ты не только помнить содержимое не будешь, но когда ты её и перечитать не сможешь физически, потому что это будет огромный проект на несколько мегабайт исходников. А при этом программу делать дальше надо, у тебя нет времени её читать, у тебя есть только время её писать дальше. Поэтому писать программу нужно так, чтобы в будущем для её дальнейшей разработки её не нужно было перечитывать всю.
Отредактировано py.user.next (Июнь 3, 2019 02:24:11)
Офлайн
186
Код повеселил.
P.S. Откуда у тебя суицидальные наклонность? Ты с синем китом не связан?
Офлайн
0
Добрый вечер Форумчане.
Огромное спасибо за критику, особенно py.user.next за разбор полетов. Видно Классы для этой мини игры перебор, поэтому я ее немного переработал и постарался оформить как подобает. Спасибо!
Прикреплённый файлы:
Виселица 1.5.zip (1,4 KБ)
Офлайн
0
RodegastНеа не связан) Просто простая игра, для отработки начальных навыков. Вот хочу игру Поле чудес замутить со своим барабаном и бабками с гостинцами)
Код повеселил. P.S. Откуда у тебя суицидальные наклонность? Ты с синем китом не связан?
Офлайн
857
Dima-pythonНормально. Дальше нужно много монолитного кода превратить в несколько функций и вызывать их. Одна функция должна занимать примерно не более 25 строк кода, чтобы она полностью обозревалась без промоток в редакторе и без гуляния глазами по ней вверх и вниз.
поэтому я ее немного переработал и постарался оформить как подобает
Офлайн
0
py.user.nextТо есть надо еще доработать. Хорошо тогда этим я займусь. Спасибо!
Офлайн