Как правильно создать функцию

Проблема

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

Планирование

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

Давайте спланируем фичу вместе

Скажем, наш клиент просит нас внедрить мультиарендность в совершенно новое приложение, где нам нужно иметь возможность регистрироваться, входить в систему и использовать панель управления.

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

Но, эй, мультиарендность — это большое дело… Нам нужно разделить это на несколько функций, это кажется эпическим… Давайте посмотрим, почему.

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

Хммм, это значит, что мы можем начать разбивать эту эпопею на несколько историй.

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

  • EPIC: мультиарендность
    • История: Регистрация
    • История: Войти
    • История: Панель инструментов

Напишем детали для каждой истории (особенности):

Функция регистрации

Задачи:

  1. Как пользователь я должен иметь возможность зарегистрироваться, используя свое имя учетной записи, полное имя, адрес электронной почты и пароль.
  2. Каждая учетная запись должна иметь свой собственный поддомен.
  3. После отправки регистрационной формы я должен получить подтверждение по электронной почте.
  4. Нажав на ссылку подтверждения, моя учетная запись должна быть подтверждена, и мне будет предложено войти в систему, прежде чем я смогу использовать приложение.

В этом примере есть список задач, выполнение которых может занять некоторое время, я настоятельно рекомендую вам преобразовать эти задачи в новые истории например точки 2 а также 4 отличные кандидаты. Вот почему:

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

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

Функция входа

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

Панель инструментов

  1. Как пользователь в сеансе, я должен иметь возможность видеть панель управления учетной записью по умолчанию.
  2. Панель инструментов моей учетной записи должна включать субдомен учетной записи в URL-адрес.
  3. Панель управления моей учетной записи должна отображать данные моей учетной записи.

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

Практические результаты

Можно сказать, что каждая из историй — результат, поэтому сразу после слияния и развертывания нашей истории клиент сможет увидеть ваши изменения в действии.

В идеале вы должны доставлять как можно больше в день. Чем лучше вы спланируете, тем быстрее сможете доставить.

Имейте в виду, что результат — это то, что клиент может протестировать. Поэтому убедитесь, что вы сообщаете клиенту, как тестировать результат, вы также можете протестировать результат вместе с клиентом и провести его через функцию.

Советы и советы

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

Разделяй и властвуй. Разделите требование на несколько шагов, чтобы легко достичь цели.

Заключительные мысли и следующие шаги

Вы можете применить эту технику в своей жизни и решать большие проблемы. Рекомендую попробовать и поделиться результатами.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *