// codeart.ru / Теория программирования / Оставляем базу данных на потом Форум

Оставляем базу данных на потом rss подписка

Автор: Evgeniy Sergeev

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

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

При разработке через тестирование, для облегчения работы с БД, принято создавать фикстуры, которые, при запуске теста, создают экземпляр базы данных. Обычно это текстовые файлы в том или ином формате (например, YAML). В таком случае достаточно поправить один файл, чтобы получить все необходимые изменения.

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

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

Поэтому в своей работе я стараюсь руководствоваться простым правилом — не использовать СУБД до тех пор, пока не назреет сильная необходимость.

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

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

  1. Собственно этим и хороша абстракция, определяем модели, работаем с ними, и только когда их действительно нужно хранить
    создаём их отображение в БД

  2. И тут появляется операционная система Фантом, и надобность в СУБД вообще отпадает.

  3. Для работы команды, база, хотя бы черновой набросок, факт требуется.

  4. А какое преимущество дает черновой вариант базы?

Leave a Reply

« »