Критерии ревью кода приложения
Glossary Item Box
Бесшовное обновление
- Приложения должны обеспечивать расширение базовой функциональности, а не ее полную замену — отсутствует замещение модулей, при замещении схем вызываются базовые методы в местах, где используется переопределение (override) неабстрактных классов.
- Нет работы напрямую с SQL-конструкциями, работы ведутся через ORM.
Производительность
- Количество объектов в оперативной памяти и количество потоков ограничено и не зависит от количества пользователей или объема СУБД (постраничность и буферизация).
- Операции обработки выполняются в фоновом режиме, если их результат не нужен пользователю немедленно для продолжения работы.
Интеграции
- Организована система защиты приложения от массовых входящих запросов внешних систем путем использования легковесных шлюзов или очередей.
- При недоступности внешнего сервиса работа пользователя в системе не должна блокироваться, может быть недоступен только процесс интеграции.
- Должны быть предусмотрены случаи работы логики интеграции, когда недоступен сервис Creatio.
Объемы данных
- Данные, которые создаются в автоматическом режиме (логирование, журналирование и т. д), должны предусматривать механизмы архивации.
- При реализации работы с большими объемами в таблицах база данных должна ограничивать пользователя в произвольных операциях с ними и работать с оптимизированной структурой данных, используя индексы и денормализацию.