Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 01.11.2018
Сообщений: 32

Оценка кода

05.01.2020, 10:49. Показов 1039. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, выполнил тестовое задание для одной компании. Задача стояла в создании мини-платформы по созданию и прохождению тестов. Вот линк на репозиторий https://github.com/MarberyUA/Test_Platform. Кому не сложно, посмотрите и дайте оценку кода
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.01.2020, 10:49
Ответы с готовыми решениями:

Советы по ускорению работы кода + оценка самого кода
Вчера вечером сел написать 3 консольные программки для работы с шаблонами размножения текста: 1.Выборка групп синонимов(создание словаря)...

Оценка кода
if __name__ == "__main__": n, s, f = map(int, input().split()) g = inf = 0x3f3f3f3f dist = used = min_vertex = s - 1 ...

оценка кода
Дайте оценку моему коду (https://onlinegdb.com/r1i-i8Cqm), укажите на ошибки

9
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
05.01.2020, 18:13
1) gitignore нет.
1.1) закоммичены лишние папки .idea и venv и __pycache__. Кто будет делать git clone - вас проклянёт.
2) нет манов (хотя бы файлика README)
3) нет скриншотов
4) нет reqwiments из-за чего становится невозможным разворачивание проекта.
5) скомпрометирован секретный ключ: https://github.com/MarberyUA/T... ngs.py#L23
5.1) и логин/пароль к базе: https://github.com/MarberyUA/T... ngs.py#L84
5.2) не говоря уже у других ключах.
6) 301 редирект на главной… Нахрена?
7) дублируются locations: https://github.com/MarberyUA/T... rls.py#L29
8) логика в шаблонах… извиняюсь в фильтрах (это сарказм) нечто.
9) пустые файлы admin.py… дающие надежду, что там есть код…
10) опять логика в шаблонах... но теперь в моделях. Тегом url пользоваться не умеем?
11) Я процитирую:
Python
1
2
3
    def get_detail_url(self):
        question = Question.objects.get(id=self.question_id)
        return reverse('question_detail_url', kwargs={'id': question.id})
Дёргаем базу, чтобы узнать id, который мы уже знаем. У меня нет слов. Нет, есть: debug-toolbar. Посмотрел числ запросов на странице и отправил код в мусорку.

12) базовый шаблон есть - это плюс
13) не хочу знать, что делает код в этом файле: https://github.com/MarberyUA/T... t/utils.py
14) опечатки: reqeust
15) формы есть, а валидируем руками:
Python
1
if reqeust.POST.get('comment', None) == '' or reqeust.POST.get('comment', None) == ' ':
Итог:
1) неумение работать с git
2) незнание, какие запросы к базе генерирует код.
3) неумение пользоваться формами.

Добавлено через 38 секунд
4) незнание, как разворачивать проекты и фиксировать зависимости

Добавлено через 1 минуту
Шаблоны не смотрел, я их боюсь открывать.
2
1 / 1 / 0
Регистрация: 01.11.2018
Сообщений: 32
05.01.2020, 20:36  [ТС]
Спасибо за конструктивный ответ. Я и сам уже понял что логика в фильтрах это вообще неприемлемо. Сейчас буду делать полное редактирование
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
07.01.2020, 10:55
UsingOpp, плюс ко всему - лишние импорты, неиспользуемый код, странная структура проекта, отсутствие документации, комментариев. Сеттингсы лучше разбивать на прод, дев, локал. локал - в игнор. Желательно сделать докер.

Что за gitattributes вообще?
Зачем два одинаковых линка - accounts/?

from .models import * - так лучше не делать.

Почитай о дженерик вью - код в половину уменьшится, как минимум.

Где там пеп8?

Что делают темплейты в task? Oo

Объедини миграции в одну.

А это что за прикол вообще?
https://github.com/MarberyUA/T... e.html#L10
https://github.com/MarberyUA/T... e.html#L76

И зачем т подключаешь фильтры, если не юзаешь их?

Это всё, что сразу в глаза бросается. В код не вникал даже, но уверен, что там не меньше косяков...

Добавлено через 10 минут
Ещё, как минимум, дебаг должен быть фолс, и дебаг-тулбар не нужно на прод лить, совершенно.

Ну а тут бред какой-то. Посмотри, как на нормальных проектах люди делают сеттингсы
https://github.com/MarberyUA/T... ngs.py#L88
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
07.01.2020, 11:05
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
странная структура проекта
К структуре проекта претензий нет (за исключением файла /Test_Platform/views.py).

+файл secret_info.py обычно не коммитят и добавляют в gitignore. Вместо него делают заглушку типа secret_info.py.template.

Добавлено через 2 минуты
Пример инструкции для развёртывания: https://github.com/andreymal/m... INSTALL.md
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
07.01.2020, 11:16
Рыжий Лис, вообще хорошей практикой считается создание директории apps, куда уже ложатся все приложения. Создание различных сеттингсов - для разработки, стейджа, прода.
Называть приложение - Test - тоже такое себе решение, мягко говоря.
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
07.01.2020, 11:22
Не знаю, за новой джангой не слежу. Как django-admin сгенерирует структуру - так и пользуюсь. Про остальное согласен.
0
1 / 1 / 0
Регистрация: 01.11.2018
Сообщений: 32
08.01.2020, 00:32  [ТС]
Два одинаковых линка нужны потому, что я переопределил только регистрацию и смену пароля, всё остальное проект берет из коробки. Я конечно могу просто взять и всё указать руками в своем приложении, но чёт не понимаю что здесь плохого что я переопределил на данном этапе нужное и указал где искать не переопределенное
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
08.01.2020, 12:43
Плохо то, что одна из одинаковых ссылок работать не будет (вторая).
1
1 / 1 / 0
Регистрация: 01.11.2018
Сообщений: 32
09.01.2020, 08:47  [ТС]
Да, чёт сразу не понял
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.01.2020, 08:47
Помогаю со студенческими работами здесь

Оценка кода
Добрый день! Есть задание в ВУЗе: Я сделал следующий код: #include <iostream> #include <conio.h> int...

Оценка кода
Суть задачи описал вначале кода, хотелось бы услышать, что можно было сделать лучше, где можно было бы написать/описать...

Оценка кода
Здравствуйте, прошу вас всех оценить мой код , по возможности дать советы что так , а что не так и как это исправить либо в каком...

Оценка кода
Здравствуйте, уважаемые форумчане! Прошу дать оценку и рекомендации по структуре написанного кода, что возможно стоит изменить, правильно...

Оценка эффективности кода
Нужно сравнить эффективность двух алгоритмов. Первое что пришло в голову - тик-так'ом. Есть ли в матлабе какие-нибудь функции для оценки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru