Русский
Открыть в Telegram

ВеткаТоварищи! Только что докончил работу над своим первым (не)полноценным проектом. Прошу рецензий, да советов с пистонами о…

29 сообщений · –
  1. D
    Ну первое, конечно же, название папки на русском, второе - астериск импорты (from module import *)
        1. A
          from some import * Импорты через звёздочку (только правильно тогда астериск, а не астерикс)
  2. V
    Фотография
    нажмите — покажем
    1. R
      Кайф, захардкоженные пути🌚
        1. R
          Строить относительные пути от корня проекта или от его места запуска. Pathlib еще хорошо для удобства юзать
        2. 🍉
          Почитай про отноистельные и абсолютные пути
        3. Ю
          для таких вещей типа картинки поставляющиеся с проектом - importlib.resources можно взять. вроде бы очень удобно
  3. ⁣
    Ссылка
    нажмите — покажем
    По верхам посмотрел: 0) Entry-point-а в виде main.py в проект просто нет. Как запустить? Я чо, чтоб запустить твой проект, должен все файлики посмотреть? 1) Однотипные константы в Enum-ы собирай (вот эти, например). 2) Вот это жуть. Путь до проекта через pathlib доставай. Хардкодить пути вообще никогда нельзя. 3) Кириллические символы убирай. Всё на латинице. И названия спрайтов тоже. 4) data = [] — не константа, а глобал. Никогда не используй глобалы. (@advice17 — там хорошо приведены аргументы). Что она делает в константах — непонятно. 5) Именование переменных не очень. Что такое quantity_fac — непонятно без думания и прыгания по коду. 6) Юзай тайпхинты. Передаешь какой-то плохо заименованный df в build_a_graph — ваще непонятно что происходит. 7) В bacanimal: мега-жирный класс. Нехорошо. Функции огромные и непонятно что делающие. Функция — название из глагола+опционального_существительного. Функция длиннее 15 строк — плохая функция (чаще всего). Функция, выполняющая больше 1 примитивной задачи — плохая функция. У тебя же функции — отдельные сущности. 8) В README должен быть гайдлайн по установке. Нет requirements.txt. 9) Не соблюден пеп почти везде. 10) ... кто-нибудь может принять эстафету и продолжить. Для начала хватит =)
      1. K
        V, Вы увеличили карму ⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣Andrey @Karych до 517.41 (+7.07)
    1. R
      Про количество строк немного таки вкусовщина и спорно, и основной маркер все же то, чем занимается эта функция
      1. ⁣
        Ссылка
        нажмите — покажем
        Пусть ориентируется на длину для начала. Чек тут и тут. У него функция — вообще отдельная сущность. Я думаю, что длина метода — один из наиболее очевидных для новичка маркеров плохого кода. Ну и про декомпозицию да, зря не написал.
        1. R
          Тут проблема по факту в смешении состояния и отображения состояния, да
      1. K
        Rud 356, Вы увеличили карму ⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣Andrey @Karych до 549.48 (+25.00)
    2. Д
      Фотография
      нажмите — покажем
      Андрей, спасибо большое тебе за рекомендации, очень полезно для начинающего. Но у меня тем не менее созрел ряд вопросов: 0) Насколько критично, что у меня в директории нет папки __init__.py и что и зачем я могу в нее поместить (инициализация данных из constant без того работает)? 1) Как использовать Enum-ы в моем случае? 2) Как достать через pathlib путь к частным файлам, да такой чтобы они были 'WindowsPath' и в последующем подлежали конкатенации и на получившийся путь программа могла ссылаться? На скрине ниже я создаю новые файлы, или делаю то, что нужно?
      1. K
        Димка Кищенко, Вы увеличили карму ⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣Andrey @Karych до 563.62 (+7.07)
  4. 🍉
    Ты в ридми скопировал кусок чьей-то статьи?
ССообщество Python ПрограммистовСообщество Python Программистов@python_scripts · группа · Технологии
4 169участников43пишущих за 30 дней
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем