Найти - Пользователи
Полная версия: Есть рабочий код, нужна критика и дельные советы опытных.
Начало » Центр помощи » Есть рабочий код, нужна критика и дельные советы опытных.
1 2 3 4 5
py.user.next
J.R.
С гитом пока сложно. Буду щас читать. Кстати, бесплатная книга это ProGit?
Там инфу добавил.

J.R.
И налепил я их потому что pycharm постоянно мне писал weak warning на этих методах…
Да pycharm не знает, как ты там дальше будешь разрабатывать, сейчас self не надо, потом понадобится. Если прямо из класса не используется, то и не надо.

J.R.
Но один статический метод всё же у меня в коде используется с классом а не с экземпляром (строка 676):
Добавишь скобки, чтобы генерился объект.

J.R.
что типа переменная i не используется
Ну, там _ принято ставить. Да и это под вопросом, нужно ли там вообще такую конструкцию или можно просто сделать умножение на len().
J.R.
.
py.user.next
J.R.
Но так не выйдет, классу нужны аргументы…
А где у тебя вообще объекты этого класса?
J.R.
.
4kpt_III
J.R.
docstring в процессе. пока нужна рабочая реализация с красивым и качественным кодом. Откомментить этот код тоже собираюсь. но всему своё время. это не продакшн, а учебный код. прошу учитывать этот простой факт.

Причем здесь продакшн или учебный? Докстринги пишутся сразу. Потом правятся в процессе эволюции. Это неуважение к читающему и тем более к проверяющему. Когда у Вас там 4 метода на 2 класса, то это нормально, можно без докстрингов, а когда вся эта простыня… Дело, конечно, Ваше, но в этом случае зачастую народ код читает кусками. Смотрят явные баги кода, а в архитектуру не вникают. Поэтому и проверка получается неполная.

По первому вопросу. Учимся гуглить.
Зачастую этого модуля хватает.

awersome_slugify
J.R.
.
4kpt_III
Я пас. Вы думает все проверяющие ломануться к Вам спрашивать о чем этот кусок или для чего этот? Даю 99 из 100, что никто этого делать не будет. Причины, почему этого делать не будут и ежу понятны.

J.R.
Гуглить постоянно учимся, чего уж там. awesome_slugify и awersome_slugify слегка по-разному воспринимаются

Все же пока не научились, так как гугл выдает в первой строке одно и то же на оба запроса.

Я не вчитывался, но это кажется это то место, где можно и нужно использовать slugify. Точнее вообще эту функцию убрать. Я, например, им генерирую части url по названию категорий или товаров (название, естественно, на русском).

def conv_translit(self, line):
        ru = (
            'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к',
            'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц',
            'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я', 'А', 'Б', 'В',
            'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н',
            'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ',
            'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я'
        )
        lat = (
            'a', 'b', 'v', 'g', 'd', 'e', 'e', 'zh', 'z', 'i', 'i', 'k',
            'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'kh', 'ts',
            'ch', 'sh', 'shch', "", 'y', "", 'e', 'iu', 'ia', 'A', 'B',
            'V', 'G', 'D', 'E', 'E', 'Zh', 'Z', 'I', 'I', 'K', 'L', 'M',
            'N', 'O', 'P', 'R', 'S', 'T', 'U', 'F', 'Kh', 'Ts', 'Ch',
            'Sh', 'Shch', "", 'Y', "", 'E', 'Iu', 'Ia'
        )
        return line.translate(line.maketrans(dict(zip(ru, lat))))

P.S. Спорить надоело, честно. Делайте как желаете, но не удивляйтесь потом, что код почитал и проверил только py.user.next. Я ценю свое время и мне лень его тратить на новичка, которому лень написать докстринги, чтобы упростить мне работу, которую я и так планировал сделать бесплатно.
J.R.
.
4kpt_III
А документацию религия почитать не позволяет? Откланиваюсь.
py.user.next
J.R.
Там сделано через выбор класса, это функция choose_class, строчка 707, эта функция возвращает класс, а вызов этой функции в функции generate, строчки 792…794.
Короче, те, без которых программа не работает, оставь. Но это не значит, что они правильные.
Пример статического метода - str.maketrans(). К строкам отношение имеет непосредственное, но для формирования таблицы объект не требуется.

J.R.
Сделано так, чтоб избежать длинных if… elif… else… Тоже запутанно получилось. У меня сомнения тоже на этот счёт.
Да у тебя там почти весь код запутан. Если наследованием не пользуешься, зачем оно нужно?
Как у тебя там mp3 наследуется от flac
class Mp3CueGen(FlacCueGen):
это же разные форматы.


J.R.
Функция эта используется, потому что нужен необратимый транслит без апострофов вместо твёрдых и мягких знаков.
Свои функции должен уметь делать. Своя функция - как своя программа: она делает то, что тебе нужно, и не делает ничего, что тебе не нужно. А самое главное, ты не зависишь от того, есть она в интернете или нет.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB