2013-05-01 2 views
10

В настоящее время я пишу веб-приложение на Python, используя флеш-фреймворк. Я действительно привык просто помещать все в один файл, в отличие от многих других проектов, я вижу, где у них разные каталоги для классов, просмотров и т. Д. Тем не менее, пример Flask просто вставляет все в один файл, с которым я, похоже, собираюсь.Является ли плохой практикой написать целое приложение Flask в одном файле?

Есть ли какие-либо риски или проблемы при написании всего веб-приложения в одном файле или лучше распространять мои функции и классы по отдельным файлам?

+1

Зависит от того, насколько сложным является веб-приложение, но я обычно разделял веб-материал из реальной логики приложения. –

ответ

15

Обычно не рекомендуется сохранять приложение в одном файле, за исключением того, что оно тривиально или в образовательных целях.

Я не хочу, чтобы изобретать колесо, так вот ссылки для образца Колба структур проекта, скелеты и другая информация по теме:

И, конечно же, прочитайте замечательную флягу mega-tutorial - вы увидите, как ваше приложение будет расти и разбиваться на логические части поэтапно.

+1

Вот мой: https://github.com/fogleman/HelloFlask – FogleBird

2

На это нет правильного или неправильного ответа. Один файл может быть легко управляемым, если он очень маленький проект, и вы, вероятно, единственный, кто работает над ним. Некоторые из причин, по которым вы разделили проект на несколько исходных файлов, однако:

  • Вы изменяете и фиксируете то, что требует изменений. Я имею в виду здесь, если у вас есть большой одиночный файл со всем кодом в нем, любое изменение в файле будет означать сохранение/обновление всего файла. Представьте, что если вы допустили ошибку, вся кодовая база может быть испорчена.

  • У вас есть большая команда, возможно, с различным набором обязанностей и обязанностей. Например, у вас может быть дизайнер, который только заботится о дизайне/интерфейсе (HTML, CSS и т. Д.). Если у вас есть весь код в одном файле, они подвергаются другим вещам, о которых им не нужно беспокоиться. Кроме того, они могут самостоятельно работать на своей части, не беспокоясь ни о чем другом. Вы минимизируете риск ошибок, имея здесь несколько исходных файлов.

  • Легче управлять, поскольку кодовая база становится больше. Можете ли вы представить, что просматриваете 100 000 строк кода в одном файле и пытаетесь отладить проблему?

-2

Поскольку это микро-каркас, вы не должны полагаться на него, чтобы создавать полномасштабные приложения, поскольку он не предназначен для него.

До тех пор, пока вы сохраняете свой проект небольшим (несколько форм, несколько таблиц и в основном статическое содержимое), все будет в порядке. Но если вы хотите иметь более крупное приложение, вы можете «выпустить программу» возможности структуры с точки зрения модульности и повторного использования кода. В этом случае вы можете перейти к полномасштабной структуре, где все разделено в собственном модуле.

+3

Micro не === не подходит. Фактически это чаще всего означает, что оно подходит, так как у вас гораздо больше места для творчества, а ваши руки не связаны с требованиями рабочего потока полноэкранных фреймворков – Tigra

Смежные вопросы