Есть ли неправильный способ назвать Class Based Views в Django? - PullRequest
2 голосов
/ 15 мая 2019

это вопрос о стиле кода и передовой практике.

В нашем проекте Django у нас есть классовые представления, названные так:

urls.py

path('project/<int:pk>/clone/', CloneView.as_view(), name='clone'),
path('project/<int:pk>/delete/', ProjectDelete.as_view(), name='project-delete'),
path('project/<int:pk>/optimize/', ProjectOptimize.as_view(), name='project-optimize'),
path('project/<int:pk>/report/', ReportView.as_view(), name='report'),

Как вы можете видеть, некоторые из них мы говорим MyClassView.as_view(), а в других мы просто говорим MyClass.as_view(). Но я также заметил, что в документации они всегда используют первую форму: https://docs.djangoproject.com/en/2.2/topics/class-based-views/ Мое внимание также привлекло то, что мы никогда не используем представление в имени, например: name=clone-name.

Мой вопрос таков: есть ли заметное преимущество в явном произнесении в имени класса того, что этот класс является представлением? Это "неправильно" не использовать его?

Я бы хотел, чтобы наша кодовая база была согласованной. Спасибо всем!

1 Ответ

3 голосов
/ 15 мая 2019

Не думаю, что действительно имеет значение, включаете ли вы суффикс View. Распространено включать имя в проекты Django, но самое главное, чтобы оно было согласованным с вашим собственным проектом.

Одним из преимуществ использования суффикса View или Form является предотвращение конфликтов имен. Например, BookView, BookForm и модель Book не могут конфликтовать друг с другом.

Вы можете избежать конфликтов, импортируя модули вместо объектов , в этом случае суффиксы Form и View не нужны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...