Правда что >80% работы backend'а — это «пилить» CRUD-API?

Наблюдая за собой и за коллегами, заметил что каждый проект идет по одному и тому же сценарию:
  • создали модели;
  • написали к ним тесты;
  • написали CRUD-контроллеры на каждую модель (принять данные; подключится к БД через ORM; отрендерить json);
  • написали к ним тесты;
  • перешли к новому проекту;

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

Интересуюсь опытом коллег. Правда ли это или мир backend разработки более разнообразный?
  • Вопрос задан
  • 3920 просмотров
Решения вопроса 3
@d-stream
Готовые решения - не подаю, но...
Черновая часть бизнес-логики опирается на взаимодействие моделей, которые как правило должны обладать нечто типа CRUD. Зачастую там немало кодописательства, особенно при наличии различных верификаций, поэтому их написание заметно по затраченному времени, а самые изюминки - они чуть раньше (архитектура) и чуть позже (взаимодействие, поведение), но малозаметны именно за счет хорошо подготовленного фундамента в виде оттестированных "кирпичиков".
Ответ написан
Комментировать
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
создали модели;
написали к ним тесты;
написали CRUD-контроллеры на каждую модель (принять данные; подключится к БД через ORM; отрендерить json);
написали к ним тесты;
перешли к новому проекту;


Если контора клепает пачками однотипные сайты без какой-либо сложной логики, интеграций и особых требований - то данный процесс - норм.
На более сложных проектах бекендерами решается гораздо более широкий спектр задач.
Ответ написан
@timur14
Если нравятся интересные задачи, то я думаю таковые вы найдете на более нагруженных проектах, где и архитектура приложения гораздо сложнее. Например, где и как хранить данные (реляционное или nosql решение), каким образом масштабировать систему, как и какую часть системы выносить в отдельный сервис и как организовать взаимодействие между сервисами, оптимизация тех же sql запросов, профилирование и нагрузочное тестирование, применение асинхронного подхода. И это только для любого нагруженного проекта, а если при этом довольно интересная предметная область ?!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
proudmore
@proudmore
Нет, это не так. CRUD - это очень маленький пласт задач. Так повелось, что бизнес-логика в подавляющем большинстве случаев выходит за рамки crud, поэтому и задач там больше
Ответ написан
Комментировать
@TheAthlete
Perl 5, C, C++, компьютерные сети
На современном проекте, где есть SPA-приложение на React/Vue/Angular, да, бекенд нужен чтобы гонять JSON клиенту/от клиента

Т.е. многое переместилось на фронт
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы