Backend Validation Best Practices

LuxuryMorganite avatar
LuxuryMorganite
·
·
Download

Start Quiz

Study Flashcards

25 Questions

Что такое 'Accidental complexity' в контексте кода?

Избыточные проверки в коде

Как можно простыми словами описать 'Accidental complexity'?

Слишком заумное решение

Какие проблемы вызывает 'Accidental complexity' в коде?

Снижение скорости разработки и рефакторинга

Почему возникает 'Accidental complexity'?

Отсутствие рефакторинга

Для чего используется шаблон Broker pattern?

Для координации взаимодействия между компонентами распределенной системы

Что представляют собой компоненты в контексте Broker pattern?

Это серверы, публикующие свои возможности брокеру

Каким образом происходит взаимодействие между компонентами при использовании Broker pattern?

С помощью удаленных вызовов служб

Что делает компонент брокера в шаблоне Broker pattern?

Координирует взаимодействие между компонентами

Какие возможности публикуют серверы брокеру при использовании Broker pattern?

Свои услуги и характеристики

Каким образом клиенты взаимодействуют с компонентами при использовании Broker pattern?

С помощью удаленных вызовов служб через компонента брокера

Что обязательно для любого разработчика бекенда?

Валидация на бекенде

Что представляет собой 'Boat anchor'?

Сохранение неиспользуемых частей кода после оптимизации или рефакторинга

Какие проблемы возникают при сохранении неиспользуемых частей кода?

Увеличение размера проекта без нужной на то причины

Что означает 'Accidentalcomplexity'?

Неожиданная сложность

Какую ошибку допускают разработчики, которые сохраняют неиспользуемый код 'на будущее'?

Увеличение размера проекта без нужной на то причины

Какие проблемы могут возникнуть после неправильного рефакторинга?

Увеличение размера проекта без нужной на то причины

Что является обязательным инструментом для разработчиков согласно тексту?

Системы контроля версий

'Антипаттерны' относятся к какой области разработки?

'Антипаттерны' относятся к плохим практикам разработки

Какой антипаттерн проявляется, когда программист пытается придумать более сложное решение простой задачи?

Overengineering

Какие принципы помогают избежать проблемы 'выпендрежа' (overengineering)?

Code review и следование принципам KISS, YAGNI, DRY

Какие проблемы приводит 'слепая вера' (Blind faith) в работу программиста?

Все перечисленное

Что является причиной возникновения 'слепой веры' (Blind faith) в работе программиста?

Недостаточное количество Unit и Integration тестов

Что помогает избежать проблем 'выпендрежа' (overengineering)?

Code review и следование принципам KISS, YAGNI, DRY

Какие проблемы могут возникнуть из-за 'выпендрежа' (overengineering)?

Приводит к каскаду ошибок, усложняющему процесс поиска и устранения ошибок

Какие принципы помогают избежать 'слепой веры' (Blind faith) в работе программиста?

Недостаточное количество тестов

Study Notes

Необходимые знания для разработчика

  • 'Accidental complexity' – это сложность, возникающая в коде из-за неправильной организации, что может привести кbug-ам и ошибкам.

Описание 'Accidental complexity'

  • 'Accidental complexity' означает, что сложность возникает не из-за необходимости решать сложную задачу, а из-за неправильной организации кода.

Проблемы, вызванные 'Accidental complexity'

  • 'Accidental complexity' может привести к ошибкам, сложности в поддержке и изменении кода.

Причины возникновения 'Accidental complexity'

  • 'Accidental complexity' возникает из-за неправильной организации кода, недостаточной абстракции и усложнения кода.

Broker pattern

  • Broker pattern – это шаблон проектирования, который используется для упрощения взаимодействия между компонентами.
  • Компоненты в контексте Broker pattern – это модули, которые обмениваются информацией через брокера.
  • Брокер – это компонент, который обрабатывает запросы от клиентов и отправляет ответы.
  • Клиенты взаимодействуют с брокером, чтобы получить доступ к компонентам.
  • Серверы брокеру публикуют возможности для клиентов.

Антипаттерны

  • 'Антипаттерны' относятся к области разработки программного обеспечения.
  • 'Boat anchor' – это неиспользуемый код, который остается в системе.
  • Сохранение неиспользуемых частей кода может привести к 'Accidental complexity'.

Ошибки разработчиков

  • Разработчики часто допускают ошибку, сохраняя неиспользуемый код 'на будущее'.
  • Неправильное рефакторинга может привести к проблемам в коде.
  • 'Overengineering' – это антипаттерн, который возникает, когда программист пытается придумать более сложное решение простой задачи.
  • 'Blind faith' – это антипаттерн, который возникает, когда программист слепо верит в свою работу.
  • 'Overengineering' может привести к проблемам с поддержкой и изменением кода.
  • 'Blind faith' может привести к ошибкам и неэффективности в коде.

Инструменты для разработчиков

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

This quiz covers the importance of backend validation, emphasizing its significance over frontend validation. It also highlights the need to distrust user input and implement safeguards to prevent accidental complexity and anti-patterns.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free
Use Quizgecko on...
Browser
Browser